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.
Enamorado del blues, la trova y el rock. Un apasionado a tiempo completo de la tecnología, pivoteo y me adapto a cada nuevo paso que se da. Busco continuamente las mejores prácticas y metodologías para asegurar la calidad en el software y los procesos de negocio. Algunas horas las dedico a buscar conocimiento en filosofía y teología.