Linux AMI を搭載した Amazon EC2 サーバーでは、現在、毎日バックアップの cron ジョブを実行しています。
TMP_BACKUP_FILE="/tmp/backup.tar"
BACKUP_FILE="/home/ec2-user/Dropbox/Backup/backup.tar"
rm -f "$TMP_BACKUP_FILE"
tar cf "$TMP_BACKUP_FILE" \
/home /root /var/lib/redis /var/spool /etc
mv "$TMP_BACKUP_FILE" "$BACKUP_FILE"
chown ec2-user:ec2-user "$BACKUP_FILE"
tar ダンプは Dropbox にアップロードされます:
ファイル名は常に です
backup.tar
。タイムスタンプは追加されません。Dropbox がバージョン管理を行います。tarファイルは圧縮されていないため、Dropboxが利用しやすくなります。 デルタ同期。
しかし、 Dropbox へのdropbox.py
アップロード時間を ( で)監視するとbackup.tar
、Dropbox クライアントがデルタ同期を使用していないという印象を受けます。これは良くありません。
デルタ同期を行わないと、サーバーの帯域幅が無駄になります。
バックアップ フォルダーを個人の Dropbox で共有しているので、毎日
backup.tar
ラップトップにダウンロードされます (そこからオフライン バックアップ システムに保存されます)。差分同期がないと、ダウンロードに時間がかかり、帯域幅が無駄になります。
特定の目的に適したバックアップ アーカイブ形式は何ですか?
ループマウントされたイメージファイルに rsync できました。それは良い考えだと思いますか?
アップデート
rdiff
私はlibrsyncの一部であるユーティリティを使ってテストをしました。ウィキペディアによるとDropbox は librsync に依存しています。テストでは、差分のサイズが 2.6 MB しかないことが示されており、バックアップ アーカイブの 354 MB よりもかなり小さいです。したがって、おそらく tar は、この目的に適した形式です。テスト:
$ mv ~/Dropbox/Backup/backup.tar /tmp
$ sudo ~/bin/backup.sh
$ mv ~/Dropbox/Backup/backup.tar /tmp/backup_new.tar
$ cd /tmp
$ rdiff signature backup.tar >backup.tar.signature
$ rdiff delta backup.tar.signature backup_new.tar >backup_new.tar.delta
$ ls -lh backup.tar backup_new.tar backup_new.tar.delta
-rw-rw-r-- 1 ec2-user ec2-user 354M Dec 21 13:39 backup_new.tar
-rw-rw-r-- 1 ec2-user ec2-user 2.6M Dec 21 13:55 backup_new.tar.delta
-rw-rw-r-- 1 ec2-user ec2-user 354M Dec 21 00:10 backup.tar
Dropboxフォーラムで質問しましたDropbox がアップロードするデルタのサイズを確認する方法について。