備份是資料安全的最後防線,卻常被忽視。本文系統規劃 Linux 備份策略:決定備份什麼、頻率、媒體選擇(磁帶、光碟、Jaz/Zip、硬碟),並詳細講解 tar 與 cpio 兩大經典命令列備份工具的語法、壓縮、多卷、還原、排程自動化,附 crontab 定時備份範例,助您建立可靠的資料保護機制。
# 基本備份 /home 到檔案
tar cvf /tmp/backup.tar /home
# 壓縮備份 (.tgz)
tar czvf /tmp/backup.tgz /home
# 直接備份到裝置 (磁帶/Jaz)
tar czvf /dev/st0/backup.tgz /home
tar czvf /mnt/jaz/backup.tgz /home
# 多卷備份 (不可壓縮)
tar cvMf /dev/st0/backup.tar /home
# 還原
tar xzvf /mnt/jaz/backup.tgz -C /
常用參數:-c建立 -x解開 -v顯示 -f指定檔 -zgzip -jbzip2 -M多卷 -C切換目錄。
tar 檔案單一壞軌導致整檔不可讀;cpio 僅影響壞軌區塊,其餘可讀。需搭配 find/ls 產生檔案清單。
# 備份 /home 到磁帶 (copy-out mode)
ls /home | cpio -o > /dev/st0
# 或僅備份 24 小時內修改過的檔案
find /home -mtime -1 -type f -print | cpio -o > /dev/st0
# 還原 (copy-in mode)
cpio -i < /dev/st0
# 每天凌晨 2 點備份 /home 到 SCSI 磁帶
0 2 * * * tar cvf /dev/st0/homefiles.tar /home
# 或使用 cpio
0 2 * * * ls /home | cpio -o > /dev/st0
# 查看核心訊息確認磁帶機/光碟機偵測正常
dmesg | less
備份無價,恢復有價。定期演練還原流程,才是真正的備份完成。