Automatizar backup do PostgreSQL
Este script é uma modificação do script de backup do PostgreSQL postado por Jairo Tcatchenco.
Após testar o script postado obtive alguns erros e modifiquei o código para adaptar ao meu banco. O script lista todas as bases do Postgree e exclui a "template0" e "template1", salvando em arquivos individuais separados por nome dos bancos.
Ainda cria pastas com nome de data e cria os arquivos com nome de data e hora.
Espero ter ajudado e créditos a Jairo Jairo Tcatchenco!
http://www.vivaolinux.com.br/~jtcatchenco
Após testar o script postado obtive alguns erros e modifiquei o código para adaptar ao meu banco. O script lista todas as bases do Postgree e exclui a "template0" e "template1", salvando em arquivos individuais separados por nome dos bancos.
Ainda cria pastas com nome de data e cria os arquivos com nome de data e hora.
Espero ter ajudado e créditos a Jairo Jairo Tcatchenco!
http://www.vivaolinux.com.br/~jtcatchenco
Descrição
Este script é uma modificação do script de backup do PostgreSQL postado por Jairo Tcatchenco.
Após testar o script postado obtive alguns erros e modifiquei o código para adaptar ao meu banco. O script lista todas as bases do Postgree e exclui a "template0" e "template1", salvando em arquivos individuais separados por nome dos bancos.
Ainda cria pastas com nome de data e cria os arquivos com nome de data e hora.
Espero ter ajudado e créditos a Jairo Jairo Tcatchenco!
http://www.vivaolinux.com.br/~jtcatchenco
Após testar o script postado obtive alguns erros e modifiquei o código para adaptar ao meu banco. O script lista todas as bases do Postgree e exclui a "template0" e "template1", salvando em arquivos individuais separados por nome dos bancos.
Ainda cria pastas com nome de data e cria os arquivos com nome de data e hora.
Espero ter ajudado e créditos a Jairo Jairo Tcatchenco!
http://www.vivaolinux.com.br/~jtcatchenco
#!/bin/sh # Script para backup dos bancos de dados # Executa vaccum no banco su postgres -c "/usr/bin/vaccumdb -a -z -f -q" # Formata data para adicionar ao nome dos arquivos t=`/bin/date +%d%m%y` tt=`/bin/date +%H%M%S` # Define o destino dos arquivos DST="/opt/data/backup/$t" # Cria o diretório do dia se ele não existir if [ -d /opt/data/backup/$t ]; then cd /opt/data/backup/$t else `mkdir /opt/data/backup/$t` fi # Define permissoes de leitura e gravacao para o diretorio `chown -R postgres /opt/data/backup/` `chown -R postgres /opt/data/backup/$t` `chmod 0777 /opt/data/backup/$t` # Loop para gerar arquivos dump for i in `psql -l -U postgres | cut -f 2 -d " " -s`; do if [ $i != template1 -a $i != template0 -a $i != "rows)" -a $i != postgres ]; then su postgres -c "/usr/bin/pg_dump -h localhost -U postgres -c -d -F -f $DST/$t/$i"_"$t"_"$tt.bkp -Z 1 $i"; fi done
A única observação é que o postgresql 8.1.# já tem na sua configuração o autovacuum. No caso dele estar habilitado, não seria necessária a linha
# Executa vaccum no banco
su postgres -c "/usr/bin/vaccumdb -a -z -f -q"
Abraços.