プロセスの実行中に rsync スナップショットをバックアップする

プロセスの実行中に rsync スナップショットをバックアップする

バックアップしたいディレクトリがあります。しかし、プロセスがそのディレクトリ内のファイルに絶えず書き込みを行っているため、このプロセスをシャットダウンしてバックアップを行い、プロセスを再起動することができません。バックアップは、このプロセスの実行中に行う必要があります。rsync コマンドライン フラグ/オプションを使用して、多くのデータを失うことなくこのディレクトリのスナップショットをバックアップするにはどうすればよいですか? rsync には非常に多くのオプションがあり、この目的にどの組み合わせを使用すればよいのかわかりません。

ありがとう

答え1

私の知る限り、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

VM では、これは VM 自体の外部で最も簡単に発生し、ベンダー固有です。使用している VM 環境に応じてこれを確認する必要があります。

関連情報