本文提供一支功能完整的備份 Shell 腳本 (backup.sh):接受命令列參數指定備份來源目錄、以日期建立多層級目標目錄 (/data/backup/YYYY/MM/DD/)、利用 tar -g 快照檔實現增量備份、週日 (WEEK=7) 自動執行完整備份並清空舊快照、平日執行增量備份並詢問覆蓋確認、crontab 可排程自動執行。腳本含變數定義、函數封裝、錯誤碼檢查與彩色輸出提示。
SOURCE_DIR=("$@") 取得所有參數作為備份來源Full_Backup():週日執行,rm -rf snapshot 重置,tar -g snapshot -czvf system_backup.tgz 完整備份Add_Backup():平日執行,若備份檔存在詢問覆蓋,tar -g snapshot -czvf $$_system_backup.tgz 增量備份$? 判斷成功與否並輸出提示
此腳本展示 tar -g 快照增量備份機制,可直接用於生產環境每日自動備份,建議搭配遠端同步 (rsync/SCP) 實現異地容災。