Autor Tópico: Backup via rsync  (Lida 3302 vezes)

Offline cesgomes

  • Usuário Ubuntu
  • *
  • Mensagens: 23
    • Ver perfil
Backup via rsync
« Online: 18 de Novembro de 2010, 16:54 »
Fala galera!

montei um script para efetuar o backup do meu /home direto para meu HD Externo. Este backup é incremental, e é feito para cada dia da semana, ou seja, na segunda-feira há um backup, na terça outro e assim por diante. Fiquem a vontade para utilizá-lo e alterá-lo. Só peço que mantenham os créditos.

Primeiramente criei um diretório chamado script e nele um arquivo, que o nomeei de rsync com o seguinte código:

Código: [Selecionar]
#!/bin/sh
#Rotina simples para backup do diretório pessoal
#Criado em 15.11.2010 por Carlos Eduardo Gomes.

#Diretório que irá efetuar o backup
SOURCE='/home/carlos'

#Mídia do backup
MEDIA='/media/BKP'

#Diretório do backup
DATE='Syncronizer/'`date +%A`
DESTINATION=$MEDIA/$DATE

#Valida se a mídia está pronta (montada)
if [ -d "$MEDIA" ]; then
#Do nothing
DESTINATION=$MEDIA/$DATE
else
echo "Backup não pronto"
exit 1
fi

#Valida se o diretório existe.
if [ -d "$DESTINATION" ]
then
#Do nothing
DESTINATION=$MEDIA/$DATE
else
mkdir $DESTINATION
fi

rsync -rtpvs --progress --delete $SOURCE $DESTINATION

Após gerar este arquivo e alterar as permissões dele (sudo chmod 755 ~/scripts/rsync), é necessário colocar no cron, para efetuar o backup automagicamente. O meu crontab está assim:
Código: [Selecionar]
0 2 * * * /home/carlos/scripts/rsync >> /home/carlos/scripts/log/rsync.log
Detalhes:
  • /home/carlos é o meu diretório pessoal, alterem para o caminho do teu diretório ou para onde quiserem.
  • caso queiram, para deixar mais elegante, ao invés de criar o diretório scripts, utilizem o .scripts, assim ele ficará oculto no Nautilus.
  • não há necessidade de gerar o log no cron (>> /home/carlos/scripts/log/rsync.log).
Notebook Compaq - Processador Intel Pentium Dual Core T3200
HD 160Gb 5400RPM (SATA)
2Gb RAM 667Mhz DDR2

Offline zeroday

  • Usuário Ubuntu
  • *
  • Mensagens: 1.083
    • Ver perfil
Re: Backup via rsync
« Resposta #1 Online: 19 de Novembro de 2010, 17:17 »
Olá Carlos ,

Muito bom seu script.

Só não entendi como funciona estes dias da semana.

Até mais
"Lutar sempre , vencer na medida do possível , desistir jamais."

Offline cesgomes

  • Usuário Ubuntu
  • *
  • Mensagens: 23
    • Ver perfil
Re: Backup via rsync
« Resposta #2 Online: 20 de Novembro de 2010, 03:07 »
Olá Carlos ,

Muito bom seu script.

Só não entendi como funciona estes dias da semana.

Até mais

Zeroday, com a função 'date +%A', eu obtenho o dia da semana atual, onde irá ser feito o backup incremental, assim, o backup da segunda-feira será feito no diretório 'segunda', o backup a ser efetuado na terça-feira será armazenado no diretório 'terça' e assim por diante.

Para quem tem dados vitais, pode-se acrescer ao script mais duas variáveis: uma para 'date +%B' e outra para 'date +%Y'. e repete-se o rsync para estas variáveis. Assim terá o backup mensal e anual.

Seria algo como:

Código: [Selecionar]
MONTH='Syncronyzer'´date +%B´
YEAR='Syncronyzer'´date +%Y´

DESTINATION1=$MEDIA/$MONTH
DESTINATION2=$MEDIA/$YEAR


rsync -rtpvs --progress --delete $SOURCE $DESTINATION1
rsync -rtpvs --progress --delete $SOURCE $DESTINATION2

Espero que eu tenha conseguido explicar melhor.

[z]!
Notebook Compaq - Processador Intel Pentium Dual Core T3200
HD 160Gb 5400RPM (SATA)
2Gb RAM 667Mhz DDR2

Offline zeroday

  • Usuário Ubuntu
  • *
  • Mensagens: 1.083
    • Ver perfil
Re: Backup via rsync
« Resposta #3 Online: 20 de Novembro de 2010, 10:12 »
Perfeito Carlos ,

Não tinha entendido que os backups iam para diretórios diferentes. Mas agora entendi.

Até mais

"Lutar sempre , vencer na medida do possível , desistir jamais."