Un ratito tranquilo ...
script básico para hacer copia de seguridad de una base de datos en postgres local y remotamente

#!/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

Loading...
Loading...