Linux

如何在 Rsnapshot 遠端備份開始前壓縮文件?

  • June 9, 2021

我有一些遠端伺服器和一個備份伺服器,我正在使用 Rsnapshot 在備份伺服器上進行遠端備份。在我的計劃中,我想先執行shell腳本來壓縮文件,然後Rsnapshot可以備份壓縮文件。在 Rsnapshot 配置文件中,我找到了cmd_preexec,我想使用它,但我不知道如何編寫壓縮腳本。誰能幫我寫劇本?

任何幫助將不勝感激。謝謝你。

問題是,為什麼要壓縮?

壓縮以提高傳輸速度

如果要壓縮傳輸的速度,可以在 rsync 中添加一個參數,以在傳輸過程中啟用 on-the-fly 壓縮:

rsync_short_args -az來源

壓縮以減少備份磁碟的空間需求

rsnapshot 似乎對壓縮備份處理得相當糟糕。我找到了在備份伺服器上壓縮文件的解決方案:

(…) (第二個及以後)存檔集中的一些文件可以被壓縮,那些不在連結集中的文件。

find daily.1 -links 1 -size +1M ! -name "*.bz2" -print | grep -v \.svn | xargs pbzip2 -v

恢復

find daily.1 -links 1 -name "*.bz2" -print | xargs pbzip2 -d -v

僅針對配置中最短的第二個存檔集(例如 hourly.1、daily.1 或 week.1)執行該文件。

來源)。

如果您想在不受干擾的情況下減少空間需求,您還可以在目標文件系統本身上使用透明壓縮。我知道 ZFS 和 BTRFS 本身就提供了這個。如果您的硬碟是 SSD,它可能已經在內部對您的所有文件進行了透明壓縮。

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