Gerar backup do MySQL ou Postgres
Publicado por eli marques junior (última atualização em 11/10/2013)
[ Hits: 11.284 ]
Download backup-bd-rotate.tar.gz
Script para gerar backup do MySQL ou Postgres.
Nele você pode definir quantos dias você quer guardar os backups e os logs.
Extraia ele no / (raiz) e ele irá criar o diretório /var/bkp-banco-tsm.
Qualquer coisa renomeie o diretório para o nome desejado e altere no script.
!/bin/bash
#================================================================================#
#Autor: ELI MARQUES JUNIOR #
#Email: eli.marquesjunior@gmail.com #
#Empresa: TM Solutions #
#Lotacao: GITECBR #
#Descricao: Gerar dump das bases de dados do PostgreSQL ou MySQL #
#================================================================================#
. /etc/profile
dir_local=/var/bkp-banco-tsm
dir_do_BKP=dump_bd
cd $dir_local/$dir_do_BKP
#==================================================================================
database=""
usuario=""
#Set a variavel abaixo caso utilize POSTGRES com senha
export PGPASSWORD=""
#Set a variavel abaixo caso utilize MYSQL com senha
senha=""
#==================================================================================
data_atual=`date +%s`
arquivo_gerado="$database-$data_atual.sql"
dir_bkp=bkp-SQL
dir_LOG=LOG
#LOG DE QUANDO DA CERTO
log_TRUST="$database"_"$data_atual".LOG
log_dump=$dir_LOG/$log_TRUST
#LOG QUANDO DA ERRO
errorLOG=error-"$database"_"$data_atual".LOG
LOG_ERROR=$dir_LOG/$errorLOG
#==================================================================================
#QUANTIDADE DE DIAS PARA MANTER OS LOGs
dias=4
guarda_Ndias=$(($data_atual -(${dias} * 86400)))
function gera_BKP()
{
mv $dir_bkp/$database-* dias_anteriores/
######## DUMP PARA O MYSQL
#mysqldump -u $usuario -p$senha -B $database > $dir_bkp/$arquivo_gerado 2> $LOG_ERROR
######## DUMP PARA O POSTGRES
pg_dump -Fc -b -U $usuario $database -f $dir_bkp/$arquivo_gerado 2> $LOG_ERROR
######## DUMP PARA O POSTGRES com SENHA
######## OPCAO ABORTADA POIS QUANDO COLOCAVA NO CRONTAB NAO FUNCIONAVA
# /usr/bin/expect -c "
# spawn /opt/postgres/9.1/bin/pg_dump -Fc -b -U $usuario -W $database -f $dir_bkp/$arquivo_gerado
# expect "Password:"
# send $senha
# send \r
# interact
# " > $log_dump 2>&1
######Parte comentada para o DUMP PARA O POSTGRESS
if [ $? -eq 0 ]
then
echo "==================================================================================================================================" >> $log_dump
echo "O backup do banco \"$database\" foi gerado em $(date +%d-%m-%y) e foi salvo no diretorio \"$dir_bkp/$arquivo_gerado\"" >> $log_dump
echo "==================================================================================================================================" >> $log_dump
else
rm -f $dir_bkp/$arquivo_gerado
echo "=========================================================================================" >> $log_dump
echo "Nao foi gerado o backup do banco \"$database\" no dia $(date +%d-%m-%y)" >> $log_dump
echo "Verifique o arquivo \"$LOG_ERROR\" para saber o motivo" >> $log_dump
echo "=========================================================================================" >> $log_dump
fi
}
function limpa_LOG ()
{
cd $dir_LOG
for x in $(ls)
do
local data=$(echo $x | cut -d "." -f1 | cut -d "_" -f2)
if [ $data -le $guarda_Ndias ]
then
# echo $data = $guarda_Ndias
rm -f $x
else
echo Arquivo recente
# echo data do arquivo $data \> $guarda_Ndias data atual
fi
done
}
function limpa_BANCO ()
{
cd ../dias_anteriores
for x in $(ls)
do
local data=$(echo $x | cut -d "." -f1 | cut -d "-" -f2)
if [ $data -le $guarda_Ndias ]
then
# echo $data = $guarda_Ndias
rm -f $x
else
echo BKP do banco $database recente
#echo data do arquivo $data \> $guarda_Ndias data atual
fi
done
}
gera_BKP
limpa_LOG
limpa_BANCO
unset PGPASSWORD
[ResuLinux] Discador Claro 3G em dialog
Compac.sh - Compactador de arquivos
Removendo e-mails da fila do queue
Script para gerar ISO do OpenBSD
Comando Executar Gerenciadores leves
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Apagar Todo o Histórico do Terminal
Linux Mint: Zram + Swapfile em Btrfs
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (4)
Instalar Dual Boot, Linux+Windows. (14)
queria saber de uma coisa sobre o steam e derivados (3)
tentei instalar o steam pelo terminal, agora ele não abre (3)









