Hola juan justamente lo acabo de ejecutar con el crontab -e y ya me funciona gracias a Dios... Muchas gracias a todos por su ayuda :)
No te quiero marear, pero te copio una alternativa que quizás te resulte útil.
Mi Cron------------------#contab -e0 21 * * 1-6 /backups/postgresql/pgBackup.sh
Desarrollo0 22 * * 1-6 /backups/postgresql/pgBackup.sh QA Mi Script de
backup---------------------#!/bin/shif [ $# -eq 1 ]then FECHA=$(date
"+%Y%m%d.%H") export FECHA AMBIENTE=$1 export AMBIENTE
# Generar scripts.sql de las bases de datos # if [ $AMBIENTE
== "Desarrollo" ] then BBDD=`su -l postgres -c
'/usr/lib/postgresql/8.3/bin/psql --port=5432 -q -t -c "select datname from
pg_database;"'` else if [ $AMBIENTE == "QA" ]
then BBDD=`su -l postgres -c
'/hddotros/QA/usr/local/bin/psql --port=5435 -q -t -c "select datname from
pg_database;"'` fi fi for bd in $BBDD; do
# FILTRA para dejar fuera a Nagios o a otras BD que no quiero respaldar
# if [ $bd != "nagios" ] then
if [ $AMBIENTE == "Desarrollo" ] then
su -l postgres -c
"(/usr/lib/postgresql/8.3/bin/pg_dump --port=5432 $bd) >
/backups/postgresql/$AMBIENTE/$bd.sql" else
if [ $AMBIENTE == "QA" ] then
su -l postgres -c
"(/hddvirtual/QA/usr/local/bin/pg_dump --port=5435 $bd) >
/backups/postgresql/$AMBIENTE/$bd.sql" fi
fi fi done # Mover scripts de
BBDD a sus carpetas correspondientes # mkdir
/backups/postgresql/$AMBIENTE/$FECHA CMD="mv
/backups/postgresql/$AMBIENTE/*.sql /backups/postgresql/$AMBIENTE/$FECHA/."
export CMD $CMD echo $FECHA.$AMBIENTE echo $CMD
# Comprimir # #CMD="/backups/backups.sh
/backups/postgresql/$AMBIENTE/$FECHA/ $PREFIJO_ARCHIVO_SALIDA $FECHA"
CMD="AQUÍ tu comando o Script para comprimir comprime.backups.sh $AMBIENTE
$FECHA otro" export CMD $CMD echo $CMDelse echo
"Falta parametro de ambiente; Desarrollo o QA"fiexit $? -----------------De
antemano sorry que no soy nada ducho en temas de shellsssss y de hecho hay
formas más bonitas de hacerlo… - El Script, se ejecuta de lunes a sábado
a las 21 y 22 hrs (según ambiente Desarrollo puerto 5423, o QA puerto 5435, ya
que hay dos Postgres corriendo)- El script genera el respaldo en la
carpeta /backups/postgresql/$AMBIENTE/$FECHA- El archivo de salida, se
genera en formato texto, default de Postgres. GraciasAtentamente, Juan
De: [email protected]
[mailto:[email protected]] En nombre de Adrián M. Peña Montero
Enviado el: martes, 24 de abril de 2012 15:44
Para: 'maria teresa tarquino chavez'; 'FORO POSTGRES'
Asunto: RE: [pgsql-es-ayuda] Error al ejecutar el respaldo automatico con el
crontab Lo que me gustaría ver es el comando que realmente se ejecuta, con las
variables sustituidas por las valores de las mismas. Saludos From:
[email protected]
[mailto:[email protected]] On Behalf Of maria teresa tarquino
chavez
Sent: Tuesday, April 24, 2012 2:35 PM
To: FORO POSTGRES
Subject: RE: [pgsql-es-ayuda] Error al ejecutar el respaldo automatico con el
crontab Hola Adrian, Lo estoy ejecutando con el usuario postgres... me da el
mismo error el el log.
no existe la base de datos «c» Con que usuario estas ejecutando el script?
También añade esta línea echo “pg_dump -v -F c -U postgres $index | gzip >
$ARCHIVO\"/$index-$DATE\".backup.gz” >> /tmp/respaldo.log antes de la línea que
hace el backup para que guarde en el fichero /tmp/respaldo.log el comando que
realmente se ejecuta y configura el crond para que ejecute el script. Saludos
<<attachment: image001.jpg>>
