更新

更新

在具有 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.py)上傳到 Dropbox 的時間時backup.tar,我得到的印像是 Dropbox 用戶端沒有使用增量同步。這不好:

  1. 如果沒有增量同步,伺服器頻寬就會被浪費。

  2. 我已經與我的個人 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 上傳的增量大小。

相關內容