Script de bakcup [RESOLVIDO]

1. Script de bakcup [RESOLVIDO]

Carlos Silva
jamesbondi

(usa Outra)

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.

tenho um servidor de emails aonde existe o backup que pega os emails enviados e recebidos do dia, porem uma usuaria deletou todos os emails do itens enviados dela por acidente e solicitou backup, quando fui ver descobri que so consigo recuperar os novos....


Então quero criar um script que rode 1 vez na semana e pegue todas as caixas do MAILDIR de todos os usuarios e copie e compacte.

Abaixo segue o meu script atual:

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




  


2. MELHOR RESPOSTA

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 10/08/2012 - 22:36h

Quis dizer que em um backup os arquivos do destino não dão apagados quando os mesmos são apagados na origem, do contrário não pode ser chamado de backup e sim de espelhamento.

O rsync, caso queira usar, faz tudo isso e muito mais, vc vai fazer o backup com uma linha de código, dê uma pesquisada sobre ele vale muito a pena.

3. Re: Script de bakcup [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 09/08/2012 - 00:50h

Não basta simplesmente usar o rsync e fazer backup mesmo? Ele já faz isso, já que se o que vc apaga na origem não fica no destino não pode ser considerado backup....


4. Re: Script de bakcup [RESOLVIDO]

Carlos Silva
jamesbondi

(usa Outra)

Enviado em 10/08/2012 - 17:33h

nossa não entendi nada do que vc disse


5. Re: Script de bakcup [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 10/08/2012 - 22:42h

rai3mb escreveu:

Quis dizer que em um backup os arquivos do destino não dão apagados quando os mesmos são apagados na origem, do contrário não pode ser chamado de backup e sim de espelhamento.

O rsync, caso queira usar, faz tudo isso e muito mais, vc vai fazer o backup com uma linha de código, dê uma pesquisada sobre ele vale muito a pena.


concordo o rsync é muito bom mesmo
de uma lida
#man rsync






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts