Old Rock Mustard's Blog: agosto 2011

terça-feira, agosto 09, 2011

Quote of the day

"Quando os nazistas levaram os comunistas, eu calei-me, porque, afinal, eu não era comunista. Quando eles prenderam os sociais-democratas, eu calei-me, porque, afinal, eu não era social-democrata. Quando eles levaram os sindicalistas, eu não protestei, porque, afinal, eu não era sindicalista. Quando levaram os judeus, eu não protestei, porque, afinal, eu não era judeu. Quando eles me levaram, não havia mais quem protestasse"

 Martin_Niemöller

sábado, agosto 06, 2011

Continuando script de backup: script não incremental

 #!/bin/bash

# Caminho para onde os arquivos serao copiados
PATH_DESTINO="/media/hd_240/backup-home-user/"
LOG="/media/hd_240/backup.log/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

mkdir -p $PATH_DESTINO/$AGORAESTATICO >> $LOG

sudo rsync -Cravzp /home/mustard $PATH_DESTINO/$AGORAESTATICO >> $LOG

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

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


Cria uma pasta com data e hora onde tudo será salvo. Toda vez que ele se repete cria uma nova  pasta com data e hora. Não é incremental.


No cron, para ser executado a cada 10 dias:

45 09 */10 * * root DISPLAY=:0 /usr/share/games/scripts/backup/rsync-pasta-home-semanal.sh



Update - fev17 2012

Não esqueça de excluir cache de firefox e etc

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