Respaldo PosgretSQL automatizado

El cliente tenia los siguientes requerimientos de respaldo en su servidor de bases de datos PostgreSQL:

  • Respaldo todos los dias a las 00:00 de su base de datos PostgreSQL
  • Respaldo en el formato NOMBREDB_Aí‘OMESDIA.sql
  • Permisos especiales para un usuario especifico.

Se utilizo el lenguaje de programacion EXPECT y el codigo es el siguiente:

#!/usr/bin/expect -f
# Parametros por defecto
set server "localhost"
set username "postgres"
set password "CONTRASEí‘A"

# Parametros leidos via WEB
set directorio [lindex $argv 0]
set permiso [lindex $argv 1]
set database [lindex $argv 2]

# Leemos la fecha
set fecha [exec date +%Y%m%d]
set under "_"
set sql ".sql"

set directorio [concat $directorio$database$under$fecha$sql]

spawn /usr/bin/pg_dump -U $username -h $server -W $database -f $directorio
expect "Password: "
sleep 1
send "$password\r"
wait
exec /bin/chown -R $permiso $directorio
exit

El metodo se ejecucion es el siguiente desde un CRON:

* 00 * * * /bin/pg_back /var/www/virtual/dominio.cl/respaldo_postgresql/ micliente:www-data NOMBREDB

Si desea, tambien lo puede hacer manual:


/bin/pg_back /var/www/virtual/dominio.cl/respaldo_postgresql/ micliente:www-data NOMBREDB

El respaldo es de la base de datos completa.

Saludos y frente a dudas postreenlas aca.

No hay Trackbacks

2 Comentarios

  1. Darling

    Hola, necesito hacer respaldo de una base de datos en postgres a traves de una pagina web con php, te agradeceria mucho si me puedes dar una idea! Me urge!

    Comentado 5 Febrero 2009 a las 20:48 | Permalink
  2. Estimado, via WEB debes solamente realizar un DUMP completo y exportarlo a un archivo.

    Saludos

    Comentado 5 Marzo 2009 a las 10:39 | Permalink

Escribe un Comentario

Tu e-mail nunca será compartido. Los campos requeridos están marcados *

*
*

dokshor.com (RSS) + Sator-ii theme by Felipe Lavín and finally edited by dokshor.