Enviado em 04/06/2018 - 08:39h
Bom dia a todos.
########## DECLARAÇÃO DE VARIÁVEIS #############
pasta=bkp$(date +%d%m%y)
notes=bkpNotes$(date +%d%m%y)
redeadm=bkpRedeAdm$(date +%d%m%y)
web=bkpWeb$(date +%d%m%y)
web2=bkpWeb2$(date +%d%m%y)
orcas=bkpOrcas$(date +%d%m%y)
quantum=bkpQuantum$(date +%d%m%y)
DATA=`date +%w`
########## DECLARAÇÃO DE PROCEDIMENTOS / FUNÇÕES #############
prepara_diretorios(){
cd /root/backup
mkdir $pasta
cd $pasta
mkdir $notes
mkdir $redeadm &&
touch /root/backup/$pasta/$redeadm/scp_erros.txt
mkdir $web
mkdir $web2
mkdir $orcas
mkdir $quantum
cd /root/backup
}
log_controle_cabecalho(){
echo >> /root/backup/controle.txt
data_titulo=$(date +%d/%m/%y)
echo "*******************************************************" >> /root/backup/controle.txt
echo "******* | PROCESSO DE BACKUP DOS SERVIDORES | *******" >> /root/backup/controle.txt
echo "******* | $data_titulo | *******" >> /root/backup/controle.txt
echo "*******************************************************" >> /root/backup/controle.txt
echo " " >> /root/backup/controle.txt
echo "Início da criação de pasta de backup às: `date +%A\ %d/%m/%Y\ %T` " >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
}
calcula_becapes_antes(){
uso=`df -h | grep sdb | awk '{ print $5}' | cut -d'%' -f1`
pasta_excluir=`ls -1ltr | grep -m 1 bkp | awk '{ print $NF}'`
if [ $uso -ge 70 ]; then
echo "-----------------------------------------------" >> /root/backup/controle.txt
echo "DISCO CHEIO!!! Excluindo o becape mais antigo." >> /root/backup/controle.txt
rm -rf $pasta_excluir
echo "Diretório excluido: $pasta_excluir" >> /root/backup/controle.txt
echo "-----------------------------------------------" >> /root/backup/controle.txt
fi
}
backup_rede(){
scp_quantum(){
scp -r root@10.3.48.202:/home/backup /root/backup/$pasta/$quantum
echo "Finalização da pasta $quantum às: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
echo "Tamanho da pasta: `du -hs /root/backup/$pasta/$quantum | cut -f1`" >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
}
scp_web2(){
scp -r root@10.3.48.3:/opt/lampp /root/backup/$pasta/$web2
scp -r root@10.3.48.3:/opt/lampp/htdocs/backup_drupal_casop_interno /root/backup/$pasta/$web2
echo "Finalização da pasta $web2 às: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
echo "Tamanho da pasta: `du -hs /root/backup/$pasta/$web2 | cut -f1`" >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
}
scp_web(){
scp -r root@10.3.48.5:/var/lib/mysql /root/backup/$pasta/$web
scp -r root@10.3.48.5:/srv /root/backup/$pasta/$web
echo "Finalização da pasta $web às: `date +%A\ %d/%m/%Y\ %T` " >> /root/backup/controle.txt
echo "Tamanho da pasta: `du -hs /root/backup/$pasta/$web | cut -f1`" >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
}
scp_orcas(){
scp -r root@10.3.48.4:/usr/local/Apache-Tomcat-8.0.9 /root/backup/$pasta/$orcas
scp -r root@10.3.48.4:/usr/local/CASOP /root/backup/$pasta/$orcas
scp -r root@10.3.48.4:/svn /root/backup/$pasta/$orcas
echo "Finalização da pasta $orcas às: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
echo "Tamanho da pasta: `du -hs /root/backup/$pasta/$orcas | cut -f1`" >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
}
scp_notes(){
#scp -r root@10.3.48.2:/local/notesdata /root/backup/$pasta/$notes
scp -r root@192.168.0.2:/local/notesdata /root/backup/$pasta/$notes || echo "Falha na cópia de notesdata" >> /root/backup/controle.txt
echo "Finalização da pasta $notes às: `date +%A\ %d/%m/%Y\ %T` " >> /root/backup/controle.txt
echo "Tamanho da pasta: `du -hs /root/backup/$pasta/$notes | cut -f1`" >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
}
scp_redeadmin(){
scp -r root@10.3.48.13:/var/firebird /root/backup/$pasta/$redeadm
scp -r root@10.3.48.13:/home/VOL03 /root/backup/$pasta/$redeadm >> /root/backup/$pasta/$redeadm/scp_erros.txt 2>&1
echo "Finalização da cópia de VOL03 às: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
scp -r root@10.3.48.13:/home/VOL02 /root/backup/$pasta/$redeadm >> /root/backup/$pasta/$redeadm/scp_erros.txt 2>&1
echo "Finalização da cópia de VOL02 às: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
scp -r root@10.3.48.13:/home/VOL01 /root/backup/$pasta/$redeadm >> /root/backup/$pasta/$redeadm/scp_erros.txt 2>&1
echo "Finalização da cópia de VOL01 às: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
#scp -r root@192.168.0.13:/var/firebird /root/backup/$pasta/$redeadm
#scp -r root@192.168.0.13:/home/VOL03 /root/backup/$pasta/$redeadm
#scp -r root@192.168.0.13:/home/VOL02 /root/backup/$pasta/$redeadm
#scp -r root@192.168.0.13:/home/VOL01 /root/backup/$pasta/$redeadm
echo "Finalização da pasta $redeadm às: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
echo "Tamanho da pasta: `du -hs /root/backup/$pasta/$redeadm | cut -f1`" >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
}
scp_quantum
scp_web2
scp_web
scp_orcas
scp_notes
scp_redeadmin
}
log_controle_rodape(){
echo "::::::::::::::::::::::::::::::::::::: " >> /root/backup/controle.txt
echo "Término da criação de pasta de backup às: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
}
calcula_becapes_depois(){
tamanho_disco_H=` df -h | grep sdb | awk '{ print $2}'`
tamanho_disco=`df -m | grep sdb | awk '{ print $2}'`
tamanho_disco_aprox=$(echo "($tamanho_disco*1024)" | bc)
tamanho_pasta_H=`du -hs $pasta| cut -f1`
tamanho_pasta=`du -ms $pasta| cut -f1`
becapes_possiveis=$(echo "(($tamanho_disco)/$tamanho_pasta)" | bc)
pasta_excluir=`ls -1ltr | grep -m 1 bkp | awk '{ print $NF}'`
uso_H=`df -h | grep sdb | awk '{ print $5}'`
uso=`df -h | grep sdb | awk '{ print $5}' | cut -d'%' -f1`
usado_H=`df -h | grep sdb | awk '{ print $3}'`
livre_H=`df -h | grep sdb | awk '{ print $4}'`
livre=`df -m | grep sdb | awk '{ print $4}'`
qtdbecapes=$(echo "$livre/$tamanho_pasta" | bc)
if [ $qtdbecapes -eq 0 ]; then
echo "-----------------------------------------------" >> /root/backup/controle.txt
echo "DISCO CHEIO!!! Excluindo o becape mais antigo." >> /root/backup/controle.txt
rm -rf $pasta_excluir
echo "Diretório excluido: $pasta_excluir" >> /root/backup/controle.txt
echo "-----------------------------------------------" >> /root/backup/controle.txt
fi
##### Releitura de variáveis caso haja liberação de espaço ######
uso_H2=`df -h | grep sdb | awk '{ print $5}'`
usado_H2=`df -h | grep sdb | awk '{ print $3}'`
livre_H2=`df -h | grep sdb | awk '{ print $4}'`
livre2=`df -m | grep sdb | awk '{ print $4}'`
qtdbecapes2=$(echo "$livre2/$tamanho_pasta" | bc)
}
estatisticas(){
echo "Tamanho total do Volume: $tamanho_disco_H (Aprox $tamanho_disco_aprox GB)" >> /root/backup/controle.txt
echo "Tamanho total do becape atual: $tamanho_pasta_H" >> /root/backup/controle.txt
echo "Capacidade Total de becape(s)do Volume: $becapes_possiveis" >> /root/backup/controle.txt
echo "Espaço ocupado em Disco: $usado_H2($uso_H2)" >> /root/backup/controle.txt
echo "Espaço Livre: $livre_H2" >> /root/backup/controle.txt
echo "Quantidade possível de becapes restantes: $qtdbecapes2 " >> /root/backup/controle.txt
echo "(Cálculo em função do tamanho atual da pasta de becape)" >> /root/backup/controle.txt
echo "****************************************" >> /root/backup/controle.txt
}
fita(){
echo "Início de gravação em fita: `date +%A\ %d/%m/%Y\ %T`" >> /root/backup/controle.txt
if [ $DATA -eq 1 ] || [ $DATA -eq 2 ] || [ $DATA -eq 3 ] || [ $DATA -eq 4 ]; then
tar -cvf /dev/st0 /root/backup/$pasta
mt -f /dev/st0 rewind
tar -tvf /dev/st0 > /root/backup/$pasta/fita_$pasta.txt
mt -f /dev/st0 eject
else
case $DATA in
5)
tar -cvf /dev/nst0 /root/backup/$pasta
mt -f /dev/nst0 rewind
tar -tvf /dev/nst0 > /root/backup/$pasta/fita_$pasta.txt;;
6)
mt -f /dev/nst0 fsf 1
tar -cvf /dev/nst0 /root/backup/$pasta
mt -f /dev/nst0 rewind
mt -f /dev/nst0 fsf 1
tar -tvf /dev/nst0 > /root/backup/$pasta/fita_$pasta.txt;;
0)
mt -f /dev/nst0 rewind
mt -f /dev/nst0 fsf 2
tar -cvf /dev/nst0 /root/backup/$pasta
mt -f /dev/nst0 rewind
mt -f /dev/nst0 fsf 2
tar -tvf /dev/nst0 > /root/backup/$pasta/fita_$pasta.txt
mt -f /dev/st0 rewind && mt -f /dev/st0 eject;;
esac
fi
echo "Término de gravação em fita: `date +%A\ %d/%m/%Y\ %T` " >> /root/backup/controle.txt
echo >> /root/backup/controle.txt
echo "--------------------------------------------------------" >> /root/backup/controle.txt
}
########## INÍCIO #############
prepara_diretorios
log_controle_cabecalho
calcula_becapes_antes
backup_rede
log_controle_rodape
calcula_becapes_depois
estatisticas
fita
#FIM
--------------------------------------------------------
*******************************************************
******* | PROCESSO DE BACKUP DOS SERVIDORES | *******
******* | 29/05/18 | *******
*******************************************************
Início da criação de pasta de backup às: terça 29/05/2018 20:00:01
Finalização da pasta bkpQuantum290518 às: terça 29/05/2018 20:00:06
Tamanho da pasta: 164M
Finalização da pasta bkpWeb2290518 às: terça 29/05/2018 20:34:54
Tamanho da pasta: 22G
Finalização da pasta bkpWeb290518 às: terça 29/05/2018 20:41:51
Tamanho da pasta: 13G
Finalização da pasta bkpOrcas290518 às: terça 29/05/2018 20:48:22
Tamanho da pasta: 23G
Finalização da pasta bkpNotes290518 às: terça 29/05/2018 21:00:25
Tamanho da pasta: 59G
Finalização da cópia de VOL03 às: quarta 30/05/2018 00:24:15
Finalização da cópia de VOL02 às: quarta 30/05/2018 01:40:27
Finalização da cópia de VOL01 às: quarta 30/05/2018 03:00:41
Finalização da pasta bkpRedeAdm290518 às: quarta 30/05/2018 03:00:41
Tamanho da pasta: 220G
:::::::::::::::::::::::::::::::::::::
Término da criação de pasta de backup às: quarta 30/05/2018 03:00:55
-----------------------------------------------
DISCO CHEIO!!! Excluindo o becape mais antigo.
Diretório excluido: bkp280518
-----------------------------------------------
Tamanho total do Volume: 1,1T (Aprox 1153220608 GB)
Tamanho total do becape atual: 336G
Capacidade Total de becape(s)do Volume: 3
Espaço ocupado em Disco: 547G(53%)
Espaço Livre: 498G
Quantidade possível de becapes restantes: 1
(Cálculo em função do tamanho atual da pasta de becape)
****************************************
Início de gravação em fita: quarta 30/05/2018 03:02:03
Término de gravação em fita: quarta 30/05/2018 06:41:42
--------------------------------------------------------
*************************************************************************
**************** | PROCESSO DE BACKUP DOS SERVIDORES | ****************
**************** | 29/05/18 | ****************
*************************************************************************
=========================================================================
1 - Análise primária do Disco: [ Espaço suficiente ]
=========================================================================
=========================================================================
2 - Início da criação de pasta de backup às: quarta 29/05/2018 20:00:01
=========================================================================
-------------------------------------------------------------------------
| Diretório | data/hora término cópia | Tamanho |
-------------------------------------------------------------------------
_________________________________________________________________________
|bkpQuantum160518 | quarta 29/05/2018 20:00:05 | 133M |
|________________________________________________________________________
|bkpWeb2160518 | quarta 29/05/2018 20:29:31 | 19G |
|________________________________________________________________________
|bkpWeb160518 | quarta 29/05/2018 20:36:25 | 13G |
|________________________________________________________________________
|bkpOrcas160518 | quarta 29/05/2018 20:43:02 | 23G |
|________________________________________________________________________
|bkpNotes160518 | quarta 29/05/2018 20:54:44 | 59G |
|________________________________________________________________________
|bkpRedeAdm160518 | quinta 30/05/2018 01:38:01 | 174G |
|------------------------------------------------------------------------
| | VOL03 | quinta 30/05/2018 00:18:21 | 19G |
| | VOL02 | quinta 30/05/2018 01:34:36 | 55G |
| | VOL01 | quinta 30/05/2018 01:38:01 | 102G |
|------------------------------------------------------------------------
|_______________________________________________________________________|
=========================================================================
3 - Término da criação de pasta de backup às: quinta 30/05/2018 01:38:10
=========================================================================
=========================================================================
4 - Análise secundária do Disco: [ DISCO CHEIO!--> Excluido: bkp140518 ]
=========================================================================
=========================================================================
5 - Estatísticas:
=========================================================================
-------------------------------------------------------------------------
|Tamanho total do Volume: 1,1T (Aprox 1153220608 GB) |
|Tamanho total do becape atual: 286G |
|Capacidade Total de becape(s)do Volume: 3 |
|Espaço ocupado em Disco: 773G(75%) |
|Espaço Livre: 272G |
|Quantidade possível de becapes restantes: 0 |
-------------------------------------------------------------------------
*Obs.:(Cálculo em função do tamanho atual do diretório de becape)
=========================================================================
6 - Fita: Gravação --> 17/05/18 01:39:14 | Término --> 17/05/18 04:38:43
=========================================================================