| 面向 | 關鍵問題 |
|---|---|
| 風險來源 | 硬體故障(硬碟損壞)、人為誤刪、安全攻擊、軟體錯誤 |
| 備份什麼 | 系統設定、服務資料、使用者資料、資料庫、日誌 |
| 備份到哪 | 本機次要硬碟、外接硬碟、磁帶機、NAS、異地伺服器、光碟 |
| 備份方式 | 完整、增量、差異、鏡像、快照 |
| 頻率 | 關鍵資料每日/每小時,系統級每週/每月 |
| 工具選擇 | tar、cpio、dump/restore、rsync、dd、專業備份軟體 |
/boot — 核心與開機載入器/etc — 全系統設定檔/home — 使用者資料/root — 管理者個人檔案/var/spool/mail — 郵件佇列/usr/local、/opt、/srv — 第三方套件與服務資料/var/lib/mysql、/var/lib/pgsql — 資料庫檔案(或用邏輯備份)/var/www、/srv/www — 網站內容/dev、/proc、/sys — 虛擬檔案系統/mnt、/media — 掛載點/tmp、/var/tmp — 暫存檔/run — 執行期資料光碟機 /dev/cdrom (/dev/sr0)
磁帶機(SCSI) /dev/st0
磁帶機(IDE) /dev/ht0
軟碟機 /dev/fd0
IDE 硬碟 /dev/hd[a-d][1-16]
SCSI/SATA/USB /dev/sd[a-p][1-16]
列印機 /dev/lp[0-2]
# tar -jcvpf /backup/full-$(date +%F).tar.bz2 --exclude=/proc --exclude=/mnt --exclude=/tmp --exclude=/backup /
# dump -0u -f /backup/root.dump /
以 dump 層級 1-9 表示相對上一次較低層級備份的變更:
# dump -1u -f /backup/inc1.dump /home # 第一次增量
# dump -2u -f /backup/inc2.dump /home # 第二次增量(相對層級1)
tar 搭配 --newer 或 --newer-mtime 亦可實作增量。
每次皆與「最近一次完整備份」比較:
# tar -N '2024-01-01' -jcvpf /backup/diff-$(date +%F).tar.bz2 /home
# rsync -av --delete /home/ /backup/home/ # 本機鏡像
# rsync -avz -e ssh /home/ user@offsite:/backup/ # 遠端加密傳輸
# mysqldump -u root -p --single-transaction --routines --triggers --all-databases | gzip > /backup/mysql-$(date +%F).sql.gz
# 或實體檔案層級(需停服務或用 LVM 快照)
# tar -jcvpf /backup/mysql-data-$(date +%F).tar.bz2 /var/lib/mysql
tar -tvf backup.tar.bz2、md5sum 比對。「沒有測試過還原的備份,等於沒有備份。」建立自動化排程、異地備份、定期演練,才是資料安全的真正保障。