#!/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
Script Backup Postgresql Linux -ESUS Imprimir
Criado por: Infraestrutura VersaTec
Modificado em: Qua, 12 Abr, 2023 na (o) 2:37 PM
Isso foi útil para você? Sim Não
Enviar feedbackLamentamos não termos conseguido ajudá-lo(a) mais. Ajude-nos a melhorar este artigo com o seu feedback.