#!/bin/bash HATUAL=$(date +%H) if [ "$HATUAL" -eq "22" ]; then echo " executando backup das 22 horas madruga " >> /tmp/teste.txt else echo "saindo do teste de hora do backup " >> /tmp/teste.txt exit 1 fi MNUMDIA=$(echo `date +%u`) if [ $MNUMDIA = "7" ]; then echo "Domingo não é dia de backup, saindo do script" >> /tmp/logbackup.txt exit 1 fi if [ $MNUMDIA = "6" ]; then echo "Sábado não é dia de backup, saindo do script" >> /tmp/logbackup.txt exit 1 fi ls -d /backup if [ $? -ne 0 ];then mkdir -p /backup/{seg,ter,qua,qui,sex,sab,dom} if [ $? -ne 0 ];then echo " falha na tentativa de criar diretórios, requer poderes de root" exit 1 fi fi if [ -f /backup/dirhome.txt ]; then echo "tudo OK iniciando o backup." >> /tmp/teste.txt else echo "falta arquivo /backup/dirhome.txt com a lista de diretorios para backup." >> /tmp/logbackup.txt exit 1 fi case $MNUMDIA in 7) MDIA=dom ;; 1) MDIA=seg ;; 2) MDIA=ter ;; 3) MDIA=qua ;; 4) MDIA=qui ;; 5) MDIA=sex ;; 6) MDIA=sab ;; esac cd /backup/$MDIA echo "entrando no loop for cat backup" >> /tmp/logtesteif for LINHA in `cat /backup/dirhome.txt` do MDIR=`echo $LINHA | sed "s|/||g"` MMES=`date +'-%d-%b-%Y.tar.gz'` MARQUIVO=`echo $MDIR$MMES` /bin/tar czf $MARQUIVO $LINHA echo "estatus de tar $MARQUIVO $LINHA $? " >> /tmp/logbackup.txt echo `date` >> /tmp/logbackup.txt done echo " fim do loop " >> /tmp/logbackup.txt # backup do resto do home, pegar eventuais diretórios novos. /bin/tar czf homeoutros-`date +%d%m%y`.tar.gz /home --exclude-from=/backup/dirhome.txt # backup do /tmp /bin/tar czf dirtemp-`date +%d%m%y`.tar.gz /tmp # remover arquivos com mais de 10 dias /bin/find /backup/ -name "*.tar.gz" -mtime +10 -exec rm {} \; # enviar por scp para outra maquina, requer ssh sem senha configurado /usr/bin/sudo -u zago /usr/bin/scp * zago@192.168.1.205:/home/copias/samba echo "status scp $? " >> /tmp/logbackup.txt echo " fim do backup, depois do /usr/bin/sudo " >> /tmp/logbackup.txt # acrescente seus comandos para desligar, limpar temporários, lixeira e etc... exit