Gerar backup do MySQL ou Postgres
Publicado por eli marques junior (última atualização em 11/10/2013)
[ Hits: 11.124 ]
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
beepop - popups com o texto digitado
Script simples para Atualizar hora Slackware
Raizes de equações do 2o grau no dc
Equacao de Segundo Grau em Dialog
Script para geração de relatórios do sarg
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Máquina perereca - até onde é possível o uso de Linux?
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (43)
baschrc customizado pegeui vários. (1)
eu tive uma idéia, mas mais privada sobre o assunto de mu online e ser... (7)
como posso instalar o anbox e como inicio ele para funcionar arquivos ... (10)