Em um servidor do Amazon EC2 com o Linux AMI, atualmente tenho um cron de backup diário trabalho ser executado:
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"
O despejo de alcatrão é enviado para o Dropbox:
O nome do arquivo é sempre backup.tar
. Nenhum carimbo de hora é adicionado. O Dropbox é necessário
cuidado com o controle de versão.
O arquivo tar é descompactado, com a ideia de que isso facilita o Dropbox sincronização delta .
No entanto, ao monitorar (com dropbox.py
) os tempos de upload de backup.tar
em
Dropbox, tenho a impressão de que o cliente Dropbox não está usando sincronização delta.
Isso é ruim:
Sem a sincronização delta, a largura de banda do servidor é desperdiçada.
Eu compartilhei a pasta de backup com meu Dropbox pessoal e todos os dias
backup.tar
é baixado para o meu laptop (e de lá ele entra em um
sistema de backup offline). Sem a sincronização delta, os downloads demoram
novamente desperdiçar a largura de banda.
O que é um bom formato de arquivo de backup para a finalidade específica?
Eu poderia rsync para um arquivo de imagem montado em loop. Isso soa como uma boa ideia?
Acabei de fazer um teste com o utilitário rdiff
, que faz parte do
librsync e de acordo com a Wikipedia O Dropbox depende do librsync. O teste
mostra que o delta tem apenas 2,6 MB de tamanho, portanto consideravelmente menor do que
os 354 MB do arquivo de backup. Então, talvez tar seja um formato OK para o dado
propósito. O teste:
$ 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
Eu perguntei no fórum do Dropbox sobre como descobrir o tamanho do delta que o Dropbox carrega.