Backup

#!/bin/sh
## Sistema de backup  ###
## Escrito por Devair N.Andrade##
##ddrade@yahoo.com.br Fone  #

##Variaveis de Trabalho##
#Arquivos de backup  os .tgz (tar gz)
#VARCNP=”CNP_`date +%d-%m-%Y`”.tgz
#Variavel do nome do arquivo de BKP “CNP_dd-mm-YY.tgz
#VARJAVA=”JAVA_`date +%d-%m-%Y`”.tgz
#Variavel do nome do arquivo de BKP “JAVA_dd-mm-YY.tgz
VARGRACSERVER=”GRAC_DADOS_`

date +%d-%m-%Y`”.tgz                  #Variavel
do nome do arquivo de BKP “GRAC_SERVER_dd-mm-YY.tgz somente os arquivos de
sistema ex: /etc home /var etc..

#Diretorios de backup diario
#VARCNPDIARIO=”CNP_`date +%d-%m-%Y`”
#Variavel do nome do diretorio de bkp diario “CNP_dd-mm-YY”
#VARJAVADIARIO=”JAVA_`date +%d-%m-%Y`”
#Variavel do nome do diretorio de bkp diaro “JAVA_dd-mm-YY”

#Remocao do backup de diretorios diarios de 2 dias atras
#VARCNPDIANTES=CNP_$(date –date “2 day ago” +%d-%m-%Y)
#Variavel do nome do diretorio de bkp diario “CNP_dd-mm-YY” remove a copia
de 2 dias atras
#VARJAVADIANTES=JAVA_$(date –date “2 day ago” +%d-%m-%Y)
#Variavel do nome do diretorio de bkp diario “JAVA_dd-mm-YY” remove a copia
de 2 dias atras

#Remocao do arquivo de backup diario de 40 dias passados somente CNP e Java
para SERVER-DADOS sera de 7 dias
#VARCNPRM=CNP_$(date –date “40 day ago” +%d-%m-%Y).tgz
#Variavel do nome do diretorio de bkp diario “CNP_dd-mm-YY.tgz” remove a
copia de 60 dias atras
#VARJAVARM=JAVA_$(date –date “40 day ago” +%d-%m-%Y).tgz
#Variavel do nome do diretorio de bkp diario “JAVA_dd-mm-YY” remove a copia
de 60 dias atras
VARGRACSERVERRM=GRAC_DADOS_$(date –date “5 day ago” +%d-%m-%Y).tgz
#Variavel do nome do diretorio de bkp diario “JAVA_dd-mm-YY” remove a copia
de 60 dias atras

#Criacao da imagem para copia em DVD#
COPIADIARIA=”CP`date +%d-%m-%Y`”.ISO

##Inicio e Termino do Backup Criacao do arquivo de Log#
HORA_INICIO=”Backup Iniciado no dia `date
+%d-%m-%Y-as-%H-Horas-%M-Minutos-%S-Segundos`”
HORA_FIM=”Backup Finalizado no dia `date
+%d-%m-%Y-as-%H-Horas-%M-Minutos-%S-Segundos`”
backup(){
echo $HORA_INICIO

##Usuarios que ficarao logados no sistema
echo Usuarios que deixarao terminal ligago em
date
who -u
smbstatus -S

## Atualiza o Servidor espelhado no Escritorio Apoio
#echo Atualiza Escritorio Apoio
#rsync -Cravzp –update –delete /ext/   root@189.xx.xxx.140:/ext/

#sleep 10
# Primeiro sincronizacao Geral Entre os Dois Servidores Server-Dados e
Server-Espelho
#echo Montando Unidade de Rede Para Copia
#mount 10.x.xxx.90:/ext
/media/server-dados-ext
#mount 10.2.xxx.36:/ext
/media/server-espelho-ext
#mount 10.1.xxx.36:/
/media/rede
#rsync -Cravzp  –update –delete /ext/cnp
/media/server-dados-ext/cnp-dia-anterior
#rsync -Cravzp  –update –delete /ext/
/media/server-espelho-ext
#rsync -Cravzp  –update –delete /ext/
/media/espelho-apoio
#rsync -Cravzp  –update –delete /etc/passwd
/media/rede/etc
#rsync -Cravzp  –update –delete /etc/passwd.YaST2save
/media/rede/etc
#rsync -Cravzp  –update –delete  /etc/exports
/media/rede/etc
#rsync -Cravzp  –update –delete /etc/exports.YaST2.save
/media/rede/etc
#rsync -Cravzp  –update –delete /etc/shadow
/media/rede/etc
#rsync -Cravzp  –update –delete /etc/shadow.YaST2save
/media/rede/etc
#rsync -Cravzp  –update –delete /etc/printcap
/media/rede/etc
#rsync -Cravzp  –update –delete /home
/media/rede
#rsync -Cravzp  –update –delete /etc/cups
/media/rede/etc
#umount /media/server-dados-ext
#umount /media/server-espelho-ext
#umount /media/rede

#sleep 10
## Interrompe o servico de telnet e ftp durante o backup
## O service de ssh fica funcionado para acesso se necessario for.
echo Finaliza xinetd
/sbin/service xinetd stop
/sbin/service smb stop
/sbin/service sshd restart

#sleep 10
# movendo notas e romaneios e Pagfor
#echo Movendo Arquivos
#mv -fv /ext/cnp/serrel/r0*          /ext/cnp/notas/
#mv -fv /ext/cnp/serrom/*            /ext/cnp/romaneios/
#mv -fv /ext/cnp/serarq/rom*        /ext/cnp/romaneios/
#find /ext/cnp/serarq/PG??????.REM -maxdepth 0 -type f -mtime -2 -exec mv -v
{} /ext/cnp/serrem \;

#sleep 10
##  Limpando arquivos temporarios e spool
#echo Limpeza de Arquivos
#find /ext/cnp/seraux/ -type f -name “*” |  xargs rm -fv
#rm -fv /ext/cnp/serobj/*.cfg
#rm -fv /ext/cnp/serarq/s050*
#rm -fv /ext/cnp/serrel/*
#rm -fv /ext/java/siamej/*.txt
#find /ext/cnp/serarq/in-d/ -mtime +35 -exec rm -fv {} \;
#find /ext/cnp/serarq/out-d/ -mtime +35 -exec rm -fv {} \;
#find /ext/cnp/serarq/out-d/bkp/ -mtime +35 -exec rm -v {} \;
#find /ext/cnp/romaneios/ -type f -mtime +30 -exec rm -fv {} \;
#find /ext/cnp/serrem/ -type f -mtime +60 -exec rm -fv {} \;
#find / -name .lixeira -exec rm -rf {} \;
#find / -name .recycle -exec rm -rf {} \;

#sleep 10
## Copia completa CNP JAVA  em diretorio para restauracao imediata
#echo copia do backup diario
#mkdir /backup/Backups/Diarios/$VARCNPDIARIO
#mkdir /backup/Backups/Diarios/$VARJAVADIARIO
#cp -prfv /ext/cnp                 /backup/Backups/Diarios/$VARCNPDIARIO
#cp -prfv /ext/java                /backup/Backups/Diarios/$VARJAVADIARIO

#sleep 10
## Apaga copia completa do backup em diretorio CNP JAVA  de 2 dias atras
#echo copia de 2 dias atras CNP E Java
#rm -rfv /backup/Backups/Diarios/$VARCNPDIANTES
#rm -rfv /backup/Backups/Diarios/$VARJAVADIANTES

#sleep 10
## Apaga arquivo de backup CNP JAVA de 60 dias e o de 5 dias atras
#echo apaga copia de 60 e 5 dias passados
#rm -fv /backup/Backups/Diarios/$VARCNPRM
#rm -fv /backup/Backups/Diarios/$VARJAVARM
rm -fv /backup/Backups/Diarios/$VARGRACSERVERRM

#sleep 10
## Criacao da copia compactada em arquivo tgz (tar gz)
#echo criar a copia em tgz
#tar cvfz /backup/Backups/Diarios/$VARCNP            /ext/cnp
#tar cvfz /backup/Backups/Diarios/$VARJAVA           /ext/java
tar cvfz /backup/Backups/Diarios/$VARGRACSERVER      /boot /etc /home /lib
/root /utils /dados/grupograno

#sleep 10
##Criacao da Imagem para copia em DVD##
##Para a copia de Sabado e Domingo e adicionado a midia
echo cria a imagem para copia
mkisofs -r -J -o /backup/Backups/ImagemBkp/$COPIADIARIA
/backup/Backups/Diarios/$VARGRACSERVER #/backup/Backups/Diarios/$VARCNP
/backup/Backups/Diarios/$VARJAVA

#Formatando o DVD antes de GRavar
echo formata o DVD
dvd+rw-format -f /dev/sr0

#sleep 10
#Gravacao do Imagem no DVD+RW Copia de Segunda a Quinta #
#growisofs  -M /dev/cdrom -R -J /backup/Backups/Diarios/$VARCNP
/backup/Backups/Diarios/$VARJAVA
echo grava a copia em DVD
growisofs -dvd-compat -Z /dev/cdrom=/backup/Backups/ImagemBkp/$COPIADIARIA

#sleep 10
#Gravacao da Imagem no DVD-RW Copia de Sexta a Domingo#
#growisofs  -M /dev/cdrom -R -J =/backup/Backups/Diarios/$VARCNP
/backup/Backups/Diarios/$VARJAVA

#Desmonta DVD
echo desmonta a unidade DVD
umount /media/CDROM

#sleep 10
#Apagando a Imagem usada para backup
echo apaga a imagem de DVD
rm -fv /backup/Backups/ImagemBkp/*

#sleep 10
## Reindexacao de Arquivos
#echo reorganiza os arquivos do cnp
#find /ext/cnp/serarq/  -name ser???f -exec rebuild -i -v {} \;
#/utils/sistema/permissao

#sleep 10
## Levanta o servico de telnet e ftp depois do backup
echo restarta os servicos
/sbin/service xinetd restart
/sbin/service smb restart
/sbin/service sshd restart

##Hora de Encerramento do Backup
echo $HORA_FIM
}
## Criando o Arquivo de Log do Backup
echo Criacao do Arquivo de Log
DT=bkp_grac_dados_$(date +%d-%m-%Y).txt
backup >> /var/log/log_bkp/$DT

#Removendo arquivos de logs de 1 Semana
RMDT=bkp_grac_dados_$(date –date “7 day ago” +%d-%m-%Y).txt
RMLOGBKP=log_bkp_grac_dados_$(date –date “7 day ago” +%d-%m-%Y).txt
rm -fv /var/log/log_bkp/$RMDT
rm -fv /var/log/log_bkp/$RMLOGBKP

#Enviando email do Log do Backup
echo Criando e enviando email do log de backup
LOGMAIL=bkp_grac_dados_$(date +%d-%m-%Y).txt

# Enviando email
echo enviand o email
LOGBKP=log_bkp_grac_dados_$(date +%d-%m-%Y).txt
ANEXO=/var/log/log_bkp/log_bkp_grac_dados_$(date +%d-%m-%Y).txt
touch /var/log/log_bkp/$LOGBKP
textoemail(){
echo Este e o Arquivo de Log de backup do Servidor CNP Graciano-Server-Dados
echo que  foi  efetuado   nesta noite,  e  o  mesmo  foi  realizado  com
sucesso!!
echo Por  favor  troque  a  midia  de  DVD-RW  para  o  proximo  dia ! ! ! !
!! !!
echo Ficou na maquina o backup em diretorios de 0 dias passados e o arquivo
compactado
echo de 5 dias passados, para qualquer emergencia, utilize estes arquivos!!
echo O arquivo de log esta em /var/log/log_bkp/$LOGMAIL e sera removido em 1
semana.
echo Aviso!!!!Troque a Midia de Backup!
echo Obrigado…
echo Graciano-Server-Dados
}
textoemail >> /var/log/log_bkp/$LOGBKP
#Finalizando o envio
echo finalizando o envio
envmail mail.graciano.com.br bkpserver@ocara.com.br bkpserver
cpd@ocara.com.br $LOGBKP $ANEXO
envmail mail.graciano.com.br bkpserver@ocara.com.br bkpserver
andrade@ocara.com.br $LOGBKP $ANEXO

2 pensamentos sobre “Backup

  1. Pingback: Script para Backup « Luiz Augusto Machado

Deixe um comentário