Backup PostgreSql por DataBases
Publicado por Wagner Cipriano 03/03/2009
[ Hits: 20.733 ]
Realizando backup de databases PostgreSQL
---
- Arq de config das bases a fazer backup
Crie um arquivo com o nome "DBs.backup" que armazenará o nome dos bancos de dados a fazer cópias de segurança.
##Conteúdo do arquivo:
Intip helpdesk travele tollbox
O arquivo contém o nome de cada banco de dados separado por um espaço. Cada banco de dados citado no arquivo será ser incluído na lista de bancos de dados a realizar o backup periódico na nossa rotina.
#!/bin/bash # Autor: Wagner Cipriano GnãOB <wagner@intip.com.br> # # * DataBases PostgreSql # # Para incluir novos bancos de dados no backup editar o arquivo # # './DBs.backup' colocando espaco entre os nomes. # # # # Copie a vontade, mantenha o autoria original # ################################################ PATH=/usr/sbin:/usr/local/bin:/usr/bin:/bin export PATH inicio="`date +%Y-%m-%d_%H:%M:%S`" #@ Variaveis EMAIL="wagnao@gmail.com" DIR=/backup/data ERRORLOG="$DIR/error.log" ERROR=0; PGUser="postgres" PGPort="5432" #@ Pega a lista de databases a "bk_piar" no arq de configuracao DATABASES=(`cat ./DBs.backup`) if [ "$?" -ne 0 ]; then echo "ERRO: arquivo de configuracao dos DataBases nao encontrado: 'DBs.backup'"; ERROR=1; fi #@ Para cada database da lista, executa o dump e compacta DIR=/backup/data/pgsql cd $DIR for((i=0; i < ${#DATABASES[@]}; i++)) do echo ">>> dump DB ${DATABASES[$i]}" pg_dump -p $PGPort -U $PGUser -C -f ./db${DATABASES[$i]}.bkp ${DATABASES[$i]} 2> $ERRORLOG if [ "$?" -ne 0 ]; then echo "ERRO ao gerar dump DB $i: '${DATABASES[$i]}'"; ERROR=1; fi echo ">>> compactando dump do DB ${DATABASES[$i]}" tar -cvzf db${DATABASES[$i]}-`date +"%y%m%d"`.tgz ./db${DATABASES[$i]}.bkp 2>> $ERRORLOG if [ "$?" -ne 0 ]; then echo "ERRO ao compactar DUMP do DB $i: '${DATABASES[$i]}'"; ERROR=1; fi done cd $DIR #@ Apaga os arquivos de backup e mantem apenas os arquivos compactador rm ./*.bkp #@ limpa os arquivos antigos, mantendo os ultimos 5 dias find $DIR/ -name "*.tgz" -mtime +5 -type f -exec rm -f {} \; #@ Envia email de confirmacao echo ">>> envio de email de comfirmacao para $EMAIL" if [ "$ERROR" -eq 1 ]; then cat $ERRORLOG | mail $EMAIL -s "web-master Intip: Erro no backup `date`"; else echo "Backup local web-master Intip gerado com sucesso em `date`" | mail $EMAIL -s "web-master Intip: backup ok em `date`" fi echo "Rotina inciou em: $inicio" echo "Rotina terminou em: `date +%Y-%m-%d_%H:%M:%S`"
Não consigo executar função, usando Script
Script para Backup Banco Firebird
Gerenciamento do Usuario no SAMBA /
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)
Problemas ao instalar o PHP (10)
Descompactar arquivos winrar no linux (9)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (12)