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.confShellScriptsi no ubican el archivo pueden usar
locate pg_hba.confShellScripteditar la linea para el acceso local
local all all md5ShellScriptcreamos 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 PGPASSWORDShellScriptPodemos 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 {};ShellScriptguardamos y salimos de backup.sh
Ahora agregamos la tarea programada en CRON:
crontab -eShellScriptAgregamos las línea:
0 13 * * * /home/admin/backup/backup.shShellScriptEsta 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.

