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.
Tags: backup, postgresql, SAN
No hay Trackbacks
2 Comentarios
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!
Estimado, via WEB debes solamente realizar un DUMP completo y exportarlo a un archivo.
Saludos