Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux tar 指令打包備份 VPS 檔案完整教學:壓縮、排除、分卷實戰

編輯:Linux 教學

tar (Tape Archive) 是 Linux 最通用的打包工具,本身不壓縮,搭配 gzip/bzip2/xz 實現壓縮。善用 tar 可將成百上千個小檔案合併為單一檔案,大幅提升傳輸效率 (避免大量小檔案 FTP/SCP 慢速問題)。

核心參數速查表

參數功能常用組合
-c建立新封存檔-cvf (只打包)、-czvf (gzip 壓縮)
-x解開封存檔-xvf、-xzvf
-z透過 gzip 壓縮/解壓 (.tar.gz / .tgz)速度快、相容性佳
-j透過 bzip2 壓縮 (.tar.bz2)壓縮率較高、速度較慢
-J透過 xz 壓縮 (.tar.xz)壓縮率最高、最耗 CPU
-v顯示處理檔案清單除錯用,大量檔案建議關閉
-f指定封存檔名稱 (必須緊接檔名)-f backup.tar.gz
-C切換工作目錄 (解壓時指定目的地)-C /target/path
--exclude排除特定檔案/目錄--exclude='*.log' --exclude='cache/'
-M建立多卷封存 (分卷備份)搭配 -L 指定單卷大小 (KB)

實戰範例

1. 只打包不壓縮 (極速、適合本地備份)

tar -cvf /backup/www_$(date +%F).tar /home/wwwroot/

2. gzip 壓縮打包 (平衡速度與體積,最常用)

tar -czvf /backup/www_$(date +%F).tar.gz /home/wwwroot/

3. 排除暫存/快取目錄再壓縮

tar -czvf /backup/www.tar.gz --exclude='*/node_modules' --exclude='*/.git' --exclude='*/cache' /home/wwwroot/

4. 解壓到指定目錄

mkdir -p /restore
tar -xzvf /backup/www.tar.gz -C /restore

5. 分卷備份 (適用於檔案系統限制單檔大小或跨媒體儲存)

# 建立每卷 1GB 的多卷封存
tar -cvML 1048576 -f /backup/part.tar /home/wwwroot/
# 解壓時依序提供卷檔名
tar -xvMf /backup/part.tar

遠端備份一條龍 (SSH 管道)

# 本地打包並透過 SSH 直接存到遠端 (不佔本地空間)
tar -czf - /home/wwwroot/ | ssh user@backupserver "cat > /backup/www_$(date +%F).tar.gz"

# 遠端打包直接拉回本地
ssh user@server "tar -czf - /home/wwwroot/" | cat > local_backup.tar.gz

常見陷阱提醒

  • -f 後必須立即接檔名,中間不能加其他參數。
  • 絕對路徑打包會保留完整路徑,還原時可能覆蓋系統檔案;建議 cd /source/dir 後用相對路徑 tar -czf /backup/file.tar.gz .。
  • 大檔案 (>8GB) 建議改用 tar -c | split -b 2G - backup.tar.gz.part 或直接用 rsync 同步備份。
Copyright © Windows教程網 All Rights Reserved