#!/bin/bash

DATA=`date +%Y-%m-%d-%H-%M-%S`                  #pega data atual

DSTDIR="/media/esus2/Novo volume/BackupEsus/"   #diretório de destino do backup

TIME_BKCP=+30                                   #número de dias em que será deletado o arquivo de backup

INICIO=`date +%d/%m/%Y-%H:%M:%S`

LOG=/var/log/esus/log.txt

BANCO="dbacaiaca2 dbacucena2 dbaltocaparao2 dbbraunas2 dbanta2  dbjequitiba2 dbtaparuba2 dbiapu2 dbbugre2 dbpedrabonita2 dbsericita2 dbtarabai2 dbnaque2 dbluizburgo2 dbmanhumirim2 dbimbe2 dbubaporanga2 dbmatiponovo2 dbcaiana2 dbsjevangelista2 dbbarralonga dbdivinolandiamg2 dboratorios2 dbpiedadecaratinga2 dbcarloschagas2 dbalpercata2"

echo "********* —– BACKUP DO ESUS —– ***********" >> $LOG

echo "____________________________________________________" >> $LOG

echo "backup da BASE do ESUS iniciado em $INICIO" >> $LOG



delete_backup(){

#apagando arquivos mais antigos (a mais de 20 dias que existe)

find "$DSTDIR" -name "db*" -ctime $TIME_BKCP -exec rm -f {} ";"

if [ $? -eq 0 ] ; then

echo "Arquivo de backup mais antigo eliminado com sucesso!" >> $LOG

else

echo "Erro durante a busca e destruição do backup antigo!" >> $LOG

fi

}

select_diretorio(){

# Cria o diretório do dia se ele não existir

if [ -d "$DSTDIR" ]; then

echo "DIRETORIO JA EXISTE" >> $LOG

else

`mkdir "$DSTDIR"` >> $LOG

fi

}

realiza_backup(){

for banco in `echo $BANCO`

do

arq=""$DSTDIR"$banco-$DATA.backup"

pg_dump -F c -U postgres -h localhost -d "$banco" > $arq

if [ -e "$DSTDIR"/$banco$DATA.backup ]; then

echo "BACKUP $banco REALIZADO COM SUCESSO!!!" >> $LOG

else

echo "ERRO AO REALIZAR BACKUP" >> $LOG

fi

done

}



select_diretorio

realiza_backup

delete_backup



TERMINO=`date +%d/%m/%Y-%H:%M:%S`

echo "backup da BASE do ESUS terminado em $TERMINO" >> $LOG

echo "_______________________________________________________" >> $LOG