若要使用
tar 指令來做差異備份(Differential Backup),可以配合使用 find 指令達成這個工作。
首先,必需先針對系統做完整備份(Full Backup):
tar -czvf /backup/backup_full.tar.gz /home
此範例將 /home 的資料做完整備份至 /backup/backup_full.tar.gz 這個檔案。若要做差異備份時,只要找異動時間比上次完整備份新的檔案即可,可以執行以下指令:
find /home -type f -newer /backup/backup_full.tar.gz -print0 | tar --null -czvf /backup/backup_diff.tar.gz -T -
範例中,在 /home 中的所有檔案( -type f ),只要最後異動時間較 backup_full.tar.gz 新的檔案即會被備份。