Enviado em 08/08/2012 - 13:25h
Boa tarde, em minha empresa existe uma rotina de backups diarios aonde todos os dados diarios que sao alterados são gravados, porem ocorreu um problema e estou querendo evitar problemas futuros.
inicializacao(){
RAIZ="/media/backup"
DIA=`date +%y%m%d`
DIASEMANA=`date +%w`
BACKUP="$RAIZ/$DIA-meuservidor-incremental.$DIASEMANA.tgz"
BACKUPMEUSERVIDOR="$RAIZ/$DIA-meuservidor.$DIASEMANA.tgz"
LIXEIRA="$RAIZ/$DIA-meuservidor-lixeira.$DIASEMANA.tgz"
SFTP_FILE_BACKUP="/usr/bin/sftp_file_backup.ftp"
LOG="$RAIZ/$DIA.$DIASEMANA.log"
LOGERROR="$RAIZ/$DIA.$DIASEMANA.error"
> $LOG
> $LOGERROR
}
remove_backups_antigos(){
echo "Removendo backups da semana anterior" >> $LOG
rm -f $RAIZ/*.$DIASEMANA.* 1>> $LOG 2>> $LOGERROR
}
monta_servidores(){
echo "Montando /meuservidor/etc/" >> $LOG
mount /meuservidor/etc/
echo "Montando /meuservidor/home/" >> $LOG
mount /meuservidor/home/
echo "Montando /meuservidor/var-www/" >> $LOG
mount /meuservidor/var-www/
}
desmonta_servidores(){
echo "Desmontando /meuservidor/etc/" >> $LOG
umount /meuservidor/etc/
echo "Desmontando /meuservidor/home/" >> $LOG
umount /meuservidor/home/
echo "Desmontando /meuservidor/var-www/" >> $LOG
umount /meuservidor/var-www/
}
compacta_backup(){
echo "Compactando arquivos backup" >> $LOG
find /home /etc -ctime -1 -type f -print |tar -Ppcvzf $BACKUP -T - >>$LOG
1>> $LOG \
2>> $LOGERROR
chmod 777 $BACKUP
}
compacta_backupmeuservidor(){
monta_servidores
echo "Compactando arquivos backup" >> $LOG
tar -Ppcvzf $BACKUPMEUSERVIDOR \
/meuservidor \
--exclude=/meuservidor/var-www/squid-reports* \
1>> $LOG \
2>> $LOGERROR
chmod 777 $BACKUPMEUSERVIDOR
desmonta_servidores
}
compacta_lixeiras(){
echo "Compactando lixeiras do SAMBA" >> $LOG
tar -Ppcvzf $LIXEIRA \
/home/*/.recycle/ \
1>> $LOG \
2>> $LOGERROR
chmod 777 $LIXEIRA
echo "Removendo lixeiras do SAMBA" >> $LOG
rm -rf /home/*/.recycle/* 1>> $LOG 2>> $LOGERROR
#echo "Enviando lixeira compactada ao servidor via sftp" >> $LOG
#sftp -b SFTP_FILE_BACKUP root@servidor 1>> $LOG 2>> $LOGERROR
}
documenta(){
"Enviando e-mail! Backup encerrado" >> $LOG
cat $LOG | mail -e fulanodetal@dominio -s "meuservidor $LOG"
cat $LOGERROR | mail -e fulanodetal@dominio -s "meuservidor $LOGERROR"
chmod 777 $LOG $LOGERROR
#rm -f $LOG
#rm -f $LOGERROR
}
procedimentos_pos_backup(){
echo "Executando procedimentos pos-backup" >> $LOG
/usr/bin/log-extensions 1>> $LOG 2>> $LOGERROR
}
main(){
inicializacao
remove_backups_antigos
compacta_backup
compacta_backupmeuservidor
compacta_lixeiras
procedimentos_pos_backup
documenta
}
main