Old Rock Mustard's Blog: Script para backup em conjunto com o Cron

sábado, agosto 06, 2011

Script para backup em conjunto com o Cron

   Após vária buscas, só encontrando scripts mais complexos, fiz esse pequeno script para fazer backup do minha pasta de usuário, em conjunto com o cron. 
  Está configurado para manter as permissões e ser incremental.
  Salve em /usr/share/games/scripts/backup/rsync-pasta-home.sh

#!/bin/bash

# Caminho para onde os arquivos serao copiados
PATH_DESTINO="/media/hd_240/home/user/"
LOG="/media/hd_240/logs/backup.log"

############################################################
#   NAO RECOMENDO MEXER NOS CODIGOS A PARTIR DESTE PONTO   #
############################################################

AGORA=`date +%Y-%m-%d_%H:%M:%S`
AGORAESTATICO="$AGORA"
INICIO=`date +%d/%m/%Y-%H:%M:%S`
 
echo " " >> $LOG
echo " " >> $LOG
echo "| ------ ------ ------ ------ ------ ------ -----------"  >> $LOG
echo "  RSYNC iniciado em $INICIO :backup de 10 em 10 dias de /home/mustard/ " >> $LOG
           #a linha abaixo não será usada nesse script.
#mkdir -p $PATH_DESTINO/$AGORAESTATICO >> $LOG
          # substitua /home/user/ pelo endereço a ser feito backup
sudo rsync -Cravzp /home/user $PATH_DESTINO >> $LOG

FINAL=`date +%d/%m/%Y-%H:%M:%S`

echo " Backup Finalizado em $FINAL" >> $LOG
echo "| ------ ------ ------ ------ ------ ------ -----------"  >> $LOG
echo " " >> $LOG
echo " " >> $LOG

echo " Backup Finalizado em $FINAL" >> $LOG
echo "| ------ ------ ------ ------ ------ ---"  >> $LOG
echo "excluindo lixo do firefox, cache" >> $LOG

#removendo o cache dos navegadores
sudo rm -R $PATH_DESTINO.mozilla/firefox/77x9ngxw.default/Cache.Trash/ >> $LOG
sudo rm -R $PATH_DESTINO.mozilla/firefox/77x9ngxw.default/Cache/ >> $LOG
sudo rm -R $PATH_DESTINO.cache/ >> $LOG
echo "Finalizando...$FINAL" >> $LOG

#
Eu adiciono --delete --delete-excluded para que o que foi excluido na pasta à ser feito o backup seja excluido na pasta destino.
--dry-run para apenas testar o script. Ver no log o resultado.
#livre em 07fev2012 11,8gb####mustard tem 6gb e backup 10gb
#--delete-excluded para deletar arquivos dentro da pasta destinatário que #foram deletados na pasta original
#--delete : delete files that don't exist on sender (system)
Outra coisa tenha o habito de excluir o log de tempos em tempos pois o arquivo fica grande, ou então quebra-lo em vários arquivos.
#modificado em 07/02/2012



Agora a linha a ser colocada no cron:

15 08 * * * root DISPLAY=:0 /usr/share/games/scripts/backup/rsync-pasta-home.sh

Nenhum comentário:

Postar um comentário