FTP é o diabo. SCP com keypairs RSA é uma boa maneira de mover os arquivos com segurança de servidor para servidor. Quanto ao script, parece bem.
Eu apenas escrevi este script para fazer o backup de tudo em um arquivo tar.gz. Parece bem? Como posso obter o arquivo tar para se transferir para outro servidor após a execução? FTP de 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
Se você não tem muitos arquivos que estão mudando, você pode usar o rsync em vez de criar uma grande tarball. O Rsync só envia mudanças, por isso é muito mais eficiente em termos de rede do que o que você está propondo. Talvez comece por olhar para algo como isto:
Dependendo do tamanho do servidor, você está criando uma enorme quantidade de duplicatas. Se eu fosse você, só faria o backup dos arquivos que foram modificados. Você também deve marcar o arquivo de data e hora no arquivo.
Veja o que eu faria.
Uma maneira fácil de verificar a data de modificação do arquivo seria:
date -r $file +%F
Então, basicamente, você pode incluir isso em uma função e, se a função não corresponder à data do último backup, inclua-a no archive / backup. Caso contrário, siga em frente.
HTH