
Atualmente, estou executando um script no leopard a cada poucos dias para garantir que fiz backup dos meus dados em um servidor remoto usando:
#!/bin/bash
rsync -avvz ~/Documents ~/Workspace -e ssh [email protected]:~/Backup/
Existem limitações para este método, ou seja, não consigo visualizar arquivos que foram excluídos há alguns backups. Qual a melhor forma de automatizar esse processo?
Responder1
Você pode configurar um cron job no leopard?
As opções de rsync de exemplo (-avvz) não excluem arquivos no diretório 'remoto' que foram removidos do diretório local desde um backup anterior. Eles ainda devem estar no diretório remoto.
Mas seu exemplo é confuso: você está copiando arquivos de ~/Documents para ~/Workspace ou para ~/Backup/ em myhost.com
Isso pode ser uma peculiaridade do leopard, mas parece que você está apenas copiando de ~/Documents para ~/Workspace, caso em que o resto da linha pode ser ignorado (e você não precisa invocar o ssh)
Você também deve considerar encerrar a especificação do diretório de origem com um /
Eu concordaria com Peter que backups rotativos são bons - se você tiver espaço em disco disponível.
Responder2
Você está procurandordiff-backup. É muito, muito bom.
Responder3
Achei o pacote rsnapshot muito bom, disponível em todas as distros e só agora instalei no meu mac.
É um wrapper para rsync que cuida de backups incrementais, incluindo backups horários, diários, semanais e mensais.
Responder4
Eu executo este cron job todos os dias às 5h30:
#! /bin/bash
echo -n "cleaning remote database...";
ssh wf ./bin/mysql-clean;
echo "Done";
echo -n "running remote backup script...";
ssh wf ./bin/mysql-backup;
echo "Done";
scp wf:~/mysql-`date +%Y-%m-%d`.sql.bz2 /storage/mysql/;
Então, no meu host, tenho um script chamado mysql-clean que limpa meu banco de dados e remove todo o lixo. mysql-backup é basicamente apenas mysqldump canalizado através do bzip2 e nomeia-o de acordo com a data. Também tenho um script que pega o arquivo de backup mais recente, descompacta-o, limpa o banco de dados MySQL local e insere todos os dados do arquivo de backup.