Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Backup automático Postgresql 8.4

From: Benjamín Garzón <benjagarzon(at)gmail(dot)com>
To: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
Cc: Martín Marqués <martin(dot)marques(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Backup automático Postgresql 8.4
Date: 2012-01-26 12:05:20
Message-ID: CAMJ4bavJSMMeu4M8UpTxQDQ_LpWPT7KUnOktWWg0QAMWvF+oPA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ok, gracias por el dato.
Comparto un script para copiar por FTP o SSH el backup. Se copia luego de
las líneas que envié anteriormente.

Programas necesarios:

NCFTP
TAR
MAIL
SCP

###########################################
################# Script ####################
###########################################

METHOD="ftp"
METHOD="ssh"
# Servidor FTP
SERVER="170.220.1.88"

####
# Directorio a realizar backup
B_DIRECTORY="/var/www/backup/"

####
# Usuario del FTP

USER_NAME="usuario"

####
# Clave del FTP
SECRET="clave"

####
# Directorio remoto del FTP
R_DIRECTORY="/backup/posgresql"

####
# E-Mail
ADMIN_EMAIL="mail(at)gmail(dot)com"

####
# Puerto FTP
FTP_PORT=21

####
# Puerto SSH
SSH_PORT=22

####
# Ubicacion de las aplicaciones de comandos
NCFTPPUT="/usr/bin/ncftpput"
TAR="/bin/tar"
MAIL="/usr/bin/mail"
SCP="/usr/bin/scp"

#########################################
# Programa
#########################################
FILE="backup.$(date +"%y-%m-%d").tar.gz"
OUTDIR="/home//backup"
FILE_TO_GO="$OUTDIR/$FILE"
EMAIL_FILE="$OUTDIR/email.txt"

$TAR -zcf $FILE_TO_GO $B_DIRECTORY

if [ $METHOD = "ftp" ]
then
$NCFTPPUT -m -z -u "$USER_NAME" -p "$SECRET" -P "$FTP_PORT" "$SERVER"
"$R_DIRECTORY" "$FILE_TO_GO"
EXIT_V="$?"
case $EXIT_V in
0) O="Success.";;
1) O="Could not connect to remote host.";;
2) O="Could not connect to remote host - timed out.";;
3) O="Transfer failed.";;
4) O="Transfer failed - timed out.";;
5) O="Directory change failed.";;
6) O="Directory change failed - timed out.";;
7) O="Malformed URL.";;
8) O="Usage error.";;
9) O="Error in login configuration file.";;
10) O="Library initialization failed.";;
11) O="Session initialization failed.";;
esac
else
$SCP "$FILE_TO_GO" "$USER_NAME"@"$SERVER":/"$R_DIRECTORY"
EXIT_V="$?"
case $EXIT_V in
0) O="Success";;
1) O="Error";;
esac
fi
touch $EMAIL_FILE
echo "Backup result = $O" >> $EMAIL_FILE
echo "Date $(date)" >> $EMAIL_FILE
$MAIL -s "$(hostname) Backup" $ADMIN_EMAIL < $EMAIL_FILE
rm -f $FILE_TO_GO
rm -f $EMAIL_FILE

############################################
#############Fin script ########################
############################################

2012/1/25 Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>

> No es necesario que reinicies el servicio.****
>
> ** **
>
> Saludos.****
>
> ** **
>
> *De:* pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:
> pgsql-es-ayuda-owner(at)postgresql(dot)org] *En nombre de *Benjamín Garzón
> *Enviado el:* miércoles, 25 de enero de 2012 09:25:AM
> *Para:* Martín Marqués
> *CC:* pgsql-es-ayuda
> *Asunto:* [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Backup automático
> Postgresql 8.4****
>
> ** **
>
> Estimados, muchas gracias por la ayuda!!!****
>
> ** **
>
> Les comento que lo solucione al tema del bkp con este script: ****
>
> ** **
>
> ** **
>
> *Reemplazar lo marcado en rojo con los datos que correspondan!!!*****
>
> ** **
>
> # Hace Backup de producción, poniendo como nombre la fecha del día que se
> ejecuta
> export FECHA=`date +%Y%m%d`
> export NAME=${FECHA}.dmp
> export DIR=/opt/backup
> cd $DIR
> > ${NAME}
> # chmod 777 ${NAME}
> export PGPASSWORD=<em>password_db_user</em>
> vacuumdb -U <em>db_user</em> -h localhost -d <em>database_name</em> -f -z
> -v
> pg_dump -U<em> db_user</em> -h localhost -F c -b -v -f ${NAME}<em>database_name</em>
> return_code=$?
> if [ $return_code -ne 0 ]
> then
> echo 'Error en el backup. Compruebe: usuario y permisos'
> else
> gzip -f *.dmp
> echo 'Backup realizado correctamente. Archivo' ${DIR}/${NAME}.gz
> fi
> echo ${FECHA} ' Reiniciando la base de datos'****
>
>
> *No se si es necesario reiniciar el posgres, pero en el ejemplo esta asi**
> ***
>
> /etc/init.d/postgresql-8.4 stop
> /etc/init.d/postgresql-8.4 start ****
>
> ** **
>
> Saludos y nuevamente gracias a todos!!!****
>
> ** **
>
> ** **
>
> 2012/1/24 Martín Marqués <martin(dot)marques(at)gmail(dot)com>****
>
> Primero, responde a la lista por favor.
>
> Puede que estes tratando de conectarte con el usuario root a la base
> de datos? No es una buena idea.
>
> Suponiendo que es asi como lo hacen y eso no se discute, el comando
> pg_dump, ¿lo ejecuta root?
>
> El día 24 de enero de 2012 12:26, Benjamín Garzón
> <benjagarzon(at)gmail(dot)com> escribió:****
>
> > Martìn, muchas gracias por la pronta respuesta.
> > Te cuento que acabo de probar con la opción que mencionas.
> >
> > Hice esto:
> >
> > Cree el archivo .pgpass en /root
> >
> > Pegué esto adentro
> >
> > echo "192.168.0.13:5432:base_test:usuario_test:clave_test" >> ~/.pgpass
> > # echo"IP_SERVIDOR:PUERTO:DATABASE:USERNAME:PASSWORD >> ~/.pgpass
> >
> > Después, cree un bkp.shy le di permisos de ejecución:
> >
> > pg_dump -i -h 192.168.0.13 -p 5432 -U usuario_test -F c -b -v -f
> > "/root/mibase.backup" base_test
> >
> > Pero me sigue pidiendo el password.
> >
> >
> > Al ejemplo lo saque de :
> >
> >
> http://www.damianculotta.com.ar/2008/08/26/automatizar-backups-de-postgresql/
> >
> > Se te ocurre que puede estar fallando? Muchas gracias!!!
> >
> >
> > 2012/1/24 Martín Marqués <martin(dot)marques(at)gmail(dot)com>
> >>
> >> Pone la contraseña en el archivo .pgpass y ya no te la va a pedir mas.
> >>
> >> Sino, tendrias que usar algo como expect o pasar la passwd en el
> >> comando de pg_dump.
> >>
> >> Yo prefiero lo primero: usar el .pgpass
> >>
> >> El día 24 de enero de 2012 11:57, Benjamín Garzón
> >> <benjagarzon(at)gmail(dot)com> escribió:
> >> > Estimados, buen día. Estoy intentando hacer un script .sh para hacer
> >> > backups automáticos de una base que tengo en postgresql y no he
> llegado
> >> > a
> >> > buen rumbo, alguien tiene algún ejemplo?
> >> > El problema es que me pide el password de la base y no
> acepta vía script
> >> > el envió del password.
> >> > Les agradezco si me pueden dar una mano.
> >> > Muchas gracias!
> >> >
> >> > --
> >> > Benjamín Garzón
> >>
> >>
> >>
> >> --
> >> Martín Marqués
> >> select 'martin.marques' || '@' || 'gmail.com'
> >> DBA, Programador, Administrador
> >
> >
> >
> >
> > --
> > Benjamín Garzón
>
>
>
> --
> Martín Marqués
> select 'martin.marques' || '@' || 'gmail.com'
> DBA, Programador, Administrador****
>
>
>
> ****
>
> ** **
>
> --
> Benjamín Garzón****
>

--
Benjamín Garzón

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro Carrillo 2012-01-26 13:59:23 Re: [pgsql-es-ayuda] Aplicación que sirva para almacenar Consultas de BD SQL o Scripts en general
Previous Message Ovidio Martínez Barco 2012-01-26 05:34:42 Aplicación que sirva para almacenar Consultas de BD SQL o Scripts en general