
Acabei de escrever este script para fazer backup de tudo em um arquivo tar.gz. Parece bom? Como posso fazer com que o arquivo tar seja transferido para outro servidor após a execução? FTP por si mesmo? Vou colocar esse script em um cron semanal.
#!/bin/bash
rm ~/backup.tar.gz #removes old backup
BACKUP_DIRS=$HOME #$HOME is builtin, it goes to /home/ and all child dirs
tar -cvzf backup.tar.gz $BACKUP_DIRS
# run tar -zxvf to extract backup.tar.gz
Responder1
FTP é o diabo. SCP com pares de chaves RSA é uma boa maneira de mover os arquivos com segurança de um servidor para outro. Quanto ao roteiro, parece bom.
Responder2
Se você não tiver muitos arquivos sendo alterados, poderá usar o rsync em vez de criar uma grande bola tar. O Rsync enviará apenas alterações, por isso é muito mais eficiente em termos de rede do que o que você está propondo. Talvez comece olhando algo assim:
http://lifehacker.com/196122/geek-to-live--mirror-files-across-systems-with-rsync?tag=softwarersync
Responder3
Dependendo do tamanho do servidor, você está criando muitas duplicatas. Se eu fosse você, só apoiaria arquivos que foram modificados. Você também deve carimbar a data e hora do arquivo.
Aqui está o que eu faria.
- Faça full back 1x por mês ou por semana
- Backups incrementais para todos os outros dias
- carimbo de data e hora no arquivo para recuperação mais fácil
Uma maneira muito fácil de verificar a data de modificação do arquivo seria:
date -r $file +%F
então basicamente você pode agrupar isso em uma função e se a função não corresponder à data do último backup, adicione-a ao arquivo/backup. Caso contrário, siga em frente.
HTH