進程運行時 rsync 快照備份

進程運行時 rsync 快照備份

我有一個想要備份的目錄。但是,一個進程不斷寫入該目錄中的文件,我無法關閉該進程、進行備份並重新啟動該進程。備份必須在該行程運行時完成。如何使用 rsync 命令列標誌/選項來備份該目錄的快照而不丟失太多資料? rsync 有很多選項,我很困惑哪些組合可以用於此目的。

謝謝

答案1

AFAICT rsync 本身無法做到這一點。

將系統切換為使用LVM/ZFS/btrfs/其他帶有快照的東西,掛載快照,然後rsync。然後刪除快照。

例如,使用 LVM

# Allow 1GB of changes to occur while the rsync occurs
lvcreate --snapshot my_vg/my_lv --size 1GB --name backup
mount /dev/my_vg/backup /mnt/temp
# ... rsync goes here ...
# e.g. rsync /mnt/temp/srv/my/path remote:/srv/backups/$( date -I )
umount /dev/my_vg/backup
lvremove my_vg/backup

在虛擬機器中,這最容易發生在虛擬機器本身之外,並且是特定於供應商的 - 您需要針對您使用的任何虛擬機器環境進行檢視。

相關內容