Backup automático de PostgreSQL en CentOS

Todo sistema informático debe contar por seguridad con un sistema de backups automáticos que nos permitan respaldar la información en caso de algún daño en el sistema operativo o hardware. En este caso realizare el ejemplo es un backup automático de postgresql usando CRON como tareas programadas.

Ya en otro post explicare como enviar este backup a otra pc o servidor para completar la seguridad. Primero modificaremos postgresql para que pueda realizar cambios localmente modificar

nano /var/lib/pgsql/9.4/data/pg_hba.conf

si no ubican el archivo pueden usar

locate pg_hba.conf

editar la linea para el acceso local

local     all     all     md5

creamos nuestro archivo backup.sh con permisos 777 en la ruta /home/admin/backup y agregamos las siguientes lineas:

export PGUSER='postgres'
export PGPASSWORD='pgsql123'
FECHA_ACTUAL=`date +%Y-%m-%d`
HORA_ACTUAL=`date +%H:%M`
ARCH_RESP=$FECHA_ACTUAL-$HORA_ACTUAL
pg_dump -Fc bdmuni > /home/admin/backup/backup_$ARCH_RESP.backup
unset PGUSER
unset PGPASSWORD

Podemos agregar otra linea para eliminar backups de mas de 2 dias para ahorrar espacio

find /home/admin/backup/ -name '*.backup' -mtime +2 -exec rm -f {};

guardamos y salimos de backup.sh

Ahora agregamos la tarea programada en CRON:

crontab -e

Agregamos las línea:

0 13 * * * /home/admin/backup/backup.sh

Esta línea permite hacer un backup a las 13 hs con 00 minutos todos los dias de todos los meses de todos los años.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*