Backups Automáticos para banco de dados Postgres

Necessidades de um Backup

Hoje em dia é essencial que um administrador possua alguma rotina de backup diário do seu banco de dados. A Locaweb possui uma rotina de backup onde faz uma cópia de segurança diária das suas bases de dados. Veja nossa wiki sobre Backup.

Neste documento, mostraremos como criar sua própria rotina de backup para sua base de dados PostgresSQL e armazená-la em sua área de hospedagem.

 

Alertamos que o uso deste foi homologado apenas para bases com tamanho igual ou inferior à 20MB e por isso não garantimos que o mesmo seja funcional para bases de dados com grandes quantidades de dados!

 

Criando sua rotina de backups

Criação do arquivo backup_postgres.sh

 

#!/usr/bin/bash #Variaveis server="postgres01.dominio.com.br"   #Servidor postgres  login="login_da_base"                #login da base pw="*******"                         #senha nome_temp="all"                      #nome do arquivo temporário postgres bk="$HOME/backup_postgres/"          #Diretório para salvar arquivos de backup nw=$(date "+%Y%m%d")                 #Buscar pela data nb=3                                #número de cópias do banco de dados function backup() {  echo "Realizando backup do servidor postgres"  export PGPASSWORD=$pw  pg_dump -v -F c -h $server $login -U $login -i > "$HOME/$hs.dmp"  echo "Compactando arquivo de backup $fn.dmp.gz ..."  gzip -f "$HOME/"$fn.dmp  if [ -d $bk ]; then    continue  else    mkdir $bk  fi  cp -f "$HOME/"$hs.dmp.gz "$bk/$nw.dmp.gz"  a=0  b=$(ls -t $bk)  c=$nb  for arq in $b; do    a=$(($a+1))    if [ "$a" -gt $c ];  then      rm -f "$bk/$arq"    fi  done } backup postgres

Pronto! Salve este arquivo em sua área de hospedagem, na raíz, no mesmo nível que a pasta public_html/. Este arquivo backup_postgres.sh será o responsável por criar o diretório backup_postgres/ em sua área de hospedagem, na raíz e irá realizar um backup diário da sua base de dados, armazenando sempre os últimos 03 dias. Os arquivos de backups serão compactados e ficarão salvos em:

/home/login-de-FTP/backup_postgres/

Lembre-se apenas de dar permissão 755 no arquivo a ser executado.

 

Atenção: O código mencionado acima é somente um exemplo. Caso haja dúvidas quanto sua utilização, sugerimos que verifique juntamente a um desenvolvedor de sua confiança.