Opa,
eu montei esse script tem um tempo da uma ajustada pro que vc precisa que pra mim funciona 100%
eu uso hd externo formatado em ext4 e dei um label nele com o e2label (para evitar que ele monte um hd no lugar do outro etc...)
tbm uso o ssmtp para que ele me envie um status do backup diariamente.
#!/bin/bash hora=`date +%H:%M` data=`date +%Y-%b-%d`
echo "arquivos temporarios do bkp" arquivo_temp1=/tmp/lx-$data.tgz arquivo_temp2=/tmp/user-$data.tgz arquivo_temp3=/tmp/share-$data.tgz arquivo_temp4=/tmp/dpto-$data.tgz arquivo_temp5=/tmp/scripts-$data.tgz arquivo_temp6=/tmp/software-$data.tgz arquivo_temp7=/tmp/sistemas-$data.tgz
echo "local onde sera guardado os bkps" disp_backup="/media/smart/backup"
echo "arquivos a serem salvos no backup" lx="/etc /root/gerencia" user="/dados/users" share="/dados/share" dpto="/dados/dpto" software="/dados/software" scripts="/dados/scripts" sistemas="/media/pacto/Quickly/bd /media/pacto/Aclon/bd"
echo "log dos backups" arquivo_log=/var/log/backup/backup-$data arquivo_log1=/var/log/backup/backuplx-$data arquivo_log2=/var/log/backup/backupuser-$data arquivo_log3=/var/log/backup/backupshare-$data arquivo_log4=/var/log/backup/backupdpto-$data arquivo_log5=/var/log/backup/backupscripts-$data arquivo_log6=/var/log/backup/backupsoftware-$data arquivo_log7=/var/log/backup/baqckupsistemas-$data
sync sleep 20 sync
function execbkp { echo "Iniciando o backup do dia $data as $hora" if tar -czvf $arquivo_temp1 $lx > $arquivo_log1 tar -czvf $arquivo_temp2 $user > $arquivo_log2 tar -czvf $arquivo_temp3 $share > $arquivo_log3 tar -czvf $arquivo_temp4 $dpto > $arquivo_log4 tar -czvf $arquivo_temp5 $scripts > $arquivo_log5 tar -czvf $arquivo_temp6 $software > $arquivo_log6 tar -czvf $arquivo_temp7 $sistemas > $arquivo_log7 then echo "Backup feito com sucesso" else echo "Ocorreram erros no backup, favor consultar o arquivo mv $arquivo_log1 $arquivo_log2 $arquivo_log3 $arquivo_log4 $arquivo_log5 $arquivo_log6 para maiores informacoes" fi
sync sleep 30 sync
echo "Movendo o Backup para o SMART" mv $arquivo_temp1 $disp_backup >> $arquivo_log1 2>&1 mv $arquivo_temp2 $disp_backup >> $arquivo_log2 2>&1 mv $arquivo_temp3 $disp_backup >> $arquivo_log3 2>&1 mv $arquivo_temp4 $disp_backup >> $arquivo_log4 2>&1 mv $arquivo_temp5 $disp_backup >> $arquivo_log5 2>&1 mv $arquivo_temp6 $disp_backup >> $arquivo_log6 2>&1 mv $arquivo_temp7 $disp_backup >> $arquivo_log7 2>&1
sync sleep 10 sync }
echo "Iniciando Backup" echo echo "Montando o SMART" if ! mount LABEL=hdbkp /media/smart; then echo "Subject: Erro na unidade de Backup" > $arquivo_log echo "hd externo com erro backup nao realizado !!!!!" >> $arquivo_log SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ssmtp -C /root/gerencia/scripts/ssmtp.conf EMAIL@SEUEMAIL.COM.BR < $arquivo_log else execbkp SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
echo -e "Subject: Backup diario\n\n" > $arquivo_log echo "Prezados segue o relatorio do backup" >> $arquivo_log echo "" >> $arquivo_log echo "$data Backup feito com sucesso" >> $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "arquivos dentro da pasta samba" >> $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "backup sistemas">> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "`du -hs /media/smart/backup/software-* | sort -n`" >> $arquivo_log sed -i "s//media/smart/backup///g" $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "`du -hs /media/smart/backup/sistemas-* | sort -n`" >> $arquivo_log sed -i "s//media/smart/backup///g" $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "backup scripts" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "`du -hs /media/smart/backup/scripts-* | sort -n`" >> $arquivo_log sed -i "s//media/smart/backup///g" $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "backup share" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "`du -hs /media/smart/backup/share-* | sort -n`" >> $arquivo_log sed -i "s//media/smart/backup///g" $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "backup Linux" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "`du -hs /media/smart/backup/lx-* | sort -n`" >> $arquivo_log sed -i "s//media/smart/backup///g" $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "backup usuarios" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "`du -hs /media/smart/backup/user-* | sort -n`" >> $arquivo_log sed -i "s//media/smart/backup///g" $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "backup departamental" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "`du -hs /media/smart/backup/dpto-* | sort -n`" >> $arquivo_log sed -i "s//media/smart/backup///g" $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "backup ldap" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "`du -hs /media/smart/backup/bkpldap* | sort -n`" >> $arquivo_log sed -i "s//media/smart/backup///g" $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "Iniciando Teste dos arquivo compactados" >> $arquivo_log RETN=$? echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "testando bkp sistemas" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log tar -tzf /media/smart/backup/software-$data.tgz > /dev/null 2>&1 if [ $RETN -eq "0" ]; then echo "Arquivo OK" >> $arquivo_log else echo "Arquivo danificado" >> $arquivo_log fi echo "-----------------------------------------------------------" >> $arquivo_log
tar -tzf /media/smart/backup/sistemas-$data.tgz > /dev/null 2>&1 if [ $RETN -eq "0" ]; then echo "Arquivo OK" >> $arquivo_log else echo "Arquivo danificado" >> $arquivo_log fi echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "testando bkp scripts" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log tar -tzf /media/smart/backup/scripts-$data.tgz > /dev/null 2>&1 if [ $RETN -eq "0" ]; then echo "Arquivo OK" >> $arquivo_log else echo "Arquivo danificado" >> $arquivo_log fi echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "testando bkp share" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log tar -tzf /media/smart/backup/share-$data.tgz > /dev/null 2>&1 if [ $RETN -eq "0" ]; then echo "Arquivo OK" >> $arquivo_log else echo "Arquivo danificado" >> $arquivo_log fi echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "testando bkp linux" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log tar -tzf /media/smart/backup/lx-$data.tgz > /dev/null 2>&1 if [ $RETN -eq "0" ]; then echo "Arquivo OK" >> $arquivo_log else echo "Arquivo danificado" >> $arquivo_log fi echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "testando bkp usuarios" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log tar -tzf /media/smart/backup/user-$data.tgz > /dev/null 2>&1 if [ $RETN -eq "0" ]; then echo "Arquivo OK" >> $arquivo_log else echo "Arquivo danificado" >> $arquivo_log fi echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "testando bkp Departamental" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log tar -tzf /media/smart/backup/dpto-$data.tgz > /dev/null 2>&1 if [ $RETN -eq "0" ]; then echo "Arquivo OK" >> $arquivo_log fi echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo -e "`df -h`" >> $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log
echo "Teste do HD" >> $arquivo_log echo "Disco Principal" >> $arquivo_log smartctl -H /dev/sda >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log
echo "" >> $arquivo_log echo -e "`df -h`" >> $arquivo_log echo "" >> $arquivo_log echo "-----------------------------------------------------------" >> $arquivo_log echo "" >> $arquivo_log echo "Inicio do backup as $hora" >> $arquivo_log hora1=`date +%H:%M` echo "Fim do backup as $hora1" >> $arquivo_log echo "Enviando email" ssmtp -C /root/gerencia/scripts/ssmtp.conf EMAIL@SEUEMAIL.COM.BR < $arquivo_log
fi
sync sleep 60 sync
echo "Desmotando o SMART" umount /media/smart hora=`date +%H:%M` echo "Fim do backup as $hora"
Atenciosamente,
Gabriel Franca
Em 05/01/2015, à(s) 17:07, Lucas detona.headmetal@gmail.com escreveu:
Patrik
Usa o rsync !! Com ele você pode fazer backup incremental ou completo pode ter lista de exclusão e tudo mais
Em 05/01/2015 17:03, "Fabio Fraga [DS]" <fabio@dataspace.com.br mailto:fabio@dataspace.com.br> escreveu: Fala, Patrick. boa tarde.
Se usar cp, caso tenha que substituir algo, teu script terá que acrescentar o "y|cp -av *files" no script em caso de substituição do mesmo.
Te sugiro fortemente o uso do rsync.
Atenciosamente, Fábio Fraga Machado Diretor de Tecnologia e Infraestrutura Data Space Networks & TI
: Telefone: (48) 4052-9252 : MSN: fabio@dataspace.com.br mailto:fabio@dataspace.com.br : GTalk: fabio@dataspace.com.br mailto:fabio@dataspace.com.br 2015-01-05 16:46 GMT-02:00 Patrick Sarnighausen <psarni@yahoo.com mailto:psarni@yahoo.com>: Olá pessoal, tive problemas com minha unidade de backup LTO e temporariamente preciso fazer o backup em HDs portáteis. Alguém já fez isto? Pensei em formatar em Ext3 ou Ext4 e realizar um cp diariamente. Alguma sugestão melhor? Alguém conhece um bom local para o envio da unidade para manutenção, preferencialmente em São Paulo (Estado ou cidade).
Patrick Sarniguasen
CentOS-pt-br mailing list CentOS-pt-br@centos.org mailto:CentOS-pt-br@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br http://lists.centos.org/mailman/listinfo/centos-pt-br
CentOS-pt-br mailing list CentOS-pt-br@centos.org mailto:CentOS-pt-br@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br http://lists.centos.org/mailman/listinfo/centos-pt-br
CentOS-pt-br mailing list CentOS-pt-br@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br