Eu uso um script autodidático para ele usando o rsync e o cpio: link
Então, a primeira coisa que fiz foi criar uma estrutura de diretórios. Eu trabalho assim: criar um backup todos os dias, no sétimo dia (domingo), faço o último backup (domingo da semana anterior) e o coloco semanalmente. A cada 4 semanas eu mantenho um backup mensal.
Todos esses backups são incrementais e baseados em um backup completo.
minha estrutura de diretório é baseada em / mnt / backups e se parece com isso:
--- SERVER1
|--- daily
| --- 0
| --- 1
| --- 2
| --- 3
| --- 4
| --- 5
| --- 6
|--- weekly
|--- 0
|--- 1
|--- 2
|--- 3
|--- monthly
| --- 0
| --- 1
| --- 10
| --- 2
| --- 3
| --- 4
| --- 5
| --- 6
| --- 7
| --- 8
| --- 9
Eu também uso um script para criar rapidamente essa estrutura: link
Todos os meus scripts estão localizados em / root / backup_tools. O script backup.sh é colocado no crontab para ser executado todos os dias. Eu tenho troca de chaves do meu servidor de backup para todos os meus servidores que eu preciso fazer backup. No meu diretório de ferramentas eu coloco meus arquivos de exclusão (pastas / arquivos que eu não quero fazer backup) neste formato:
rsync.exclude.server1
Esses arquivos contêm os diretórios não para backup:
/proc
/sys
/tmp
Eu também uso meu arquivo /.ssh/config para adicionar os hosts (por exemplo, server1.example.com é definido como server1 com ssh port xxxx e username foo). Isso torna muito mais fácil adicionar os servidores ao backup na primeira linha do script.
Host server1
User root
Port 31337
Hostname server1.example.com
O script verificará a regra SERVERS="" e para cada servidor ali definido (espaço separado) iniciará um backup incremental (e excluirá todos os dirs nos arquivos de exclusão).
Ele usará o cpio para a rotação do dirs (o cpio permite uma cópia com link para o bloco real no disco, então o arquivo aparecerá duas vezes no seu disco rígido, e só usará espaço uma vez. Não é um link simbólico porque, quando você excluir o arquivo original, a duplicata ainda será legível)
Espero que isso tenha sido um pouco claro. O script bash não é perfeito, mas faz o seu trabalho. Eu uso para fazer backup de 4 servidores todas as noites. Eu tenho backups de um par de meses agora e eles não são grandes. É realmente economia de espaço.