#!/bin/bash
export RSYNC_RSH=”ssh -o Compression=yes”;
DESTINOLOCAL=”/backups/db/”
DESTINOREMOTO=”/backups/db/ordenador-de-pepito/”
#borramos los ficheros mas viejos que 30 dias del ordenador local.
find $DESTINOLOCAL -mtime +30 -exec rm {} \;
PGPASSWORD=”Passworddelabasededatos”;
export PGPASSWORD;
#ponemos un nombre basado en la fecha
fecha=`date ‘+%d’-'%m’-'%Y’__’%H’`
NOMBRE=”db-$fecha.bz2″
#Hacemos el dump de la base de datos y a su vez, la comprimimos
pg_dump -U usuario_db basededatosacopiar | bzip2 > $DESTINOLOCAL/$NOMBRE
#Aqui tenemos dos maneras de subirlo al servidor remoto:
# – con un rsync: simplemente sincroniza las carpetas, para mi más seguro. Más cómodo para el mantenimiento de las carpetas
# – con un scp (lo he dejado comentado), lanzariamos el find en remoto, o hariamos un script en la propia máquina remota
# scp $DESTINOLOCAL/$NOMBRE usuario@servidorRemoto:$DESTINOREMOTO
# ssh – usuario@servidorremoto “find /home/josedu -mtime 30″
rsync -vauHLX –numeric-ids $DESTINOLOCAL usuario@servidorRemoto:$DESTINOREMOTO
