Linux

如何自動 tar Rsnapshot 備份文件?

  • April 7, 2015

我正在使用 Rsnapshot 將我的伺服器文件備份到遠端伺服器。為了最小化文件大小,我想 tar 備份文件,但我不知道如何使用 Rsnapshot 來完成。

誰能幫我這個?任何幫助將不勝感激。謝謝你。

您可以使用cmd_postexec配置設置在 rsnapshot 完成後執行自定義腳本。這個腳本可以做任何你想做的事情。

但是,事後對文件進行 tar 處理(如果有的話)會增加磁碟使用率。*應該很多吧。*預設情況下,rsnapshot 將選項傳遞給 rsync,以便 rsync 將任何未更改的文件硬連結到同一文件的先前版本。

  • tar 添加了一些通常單獨存在的元數據(例如,文件路徑/名稱、權限等),與僅保留文件原始文件相比,導致磁碟空間使用量略有增加。
  • tar 本身不進行任何壓縮(儘管您可以通過 gzip、bzip2、xz 等壓縮器執行生成的 .tar 文件)。
  • 通過在 rsync 完成後對樹進行 tar,您將失去在修訂之間進行硬連結的能力,因此每個備份樹 tar 文件必須包含完整內容,而不僅僅是與前一個修訂相比的差異。

我能看到的圍繞上述第三點的唯一方法是 tar 整個目標目錄結構(snapshot_root在 rsnapshot 的配置中由如果你真的想這樣做,腳本會執行cmd_preexec),然後重新 tar 。這將使峰值磁碟空間使用量大約增加一倍,並顯著增加執行 rsnapshot 執行所需的時間,但根本沒有真正的好處。

只需按照預期的方式使用 rsnapshot 即可。它更容易,而且我認為它沒有任何缺點,可以通過虔誠tar地在備份上執行來解決。

如果您對 rsnapshot 如何保留副本有特定的問題,那麼請專注於這一點,而不是 tar(這可能是也可能不是您可能遇到的任何問題的解決方案)。

引用自:https://serverfault.com/questions/680876