Script BASH de backup do CentOS

Script BASH de backup do CentOS

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

informação relacionada