На сервере Amazon EC2 с Linux AMI у меня в настоящее время выполняется ежедневное задание резервного копирования 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
) время загрузки backup.tar
в Dropbox, у меня создается впечатление, что клиент Dropbox не использует дельта-синхронизацию. Это плохо:
Без дельта-синхронизации пропускная способность сервера тратится.
Я предоставил общий доступ к папке резервных копий своему личному Dropbox, и так каждый день backup.tar
загружается на мой ноутбук (а оттуда он переходит в автономную систему резервного копирования). Без дельта-синхронизации загрузка занимает много времени и снова расходует пропускную способность.
Какой формат архива резервных копий лучше всего подходит для данной цели?
Я мог выполнить синхронизацию с файлом образа, подключенным к циклу. Звучит как хорошая идея?
Я только что сделал тест с rdiff
утилита, которая является частью librsync, и согласно Википедии Dropbox зависит от librsync. Тест показывает, что разница составляет всего 2,6 МБ, что значительно меньше, чем 354 МБ архива резервных копий. Так что, возможно, 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.