[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Quizas lo que te adjunto te sirva. -- Jesus Aneiros Sosa mailto:aneiros en jagua cfg sld cu http://jagua.cfg.sld.cu/~aneiros On Thu, 24 Aug 2000, Roberto Leal Guerra wrote: > > Que tal amigos, tengo una aplicación corriendo con apache + php + > postgresql bajo linux, y ya es justo que programe respaldo de la base de > datos, como le puedo hacer para que todos los dias me genere un respaldo y > me lo guarde en un directorio predefinido por mi. > > Se que tengo que usar el cron y el pg_dump, pero no se como. > > Gracias por su tiempo > > Saludos > > Ing. Roberto Leal Guerra > Tel. (8) 345-5100 ext. 2972 > email: rleal en elnorte com mx > > --------- Pie de mensaje ------------------------------------------- > Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda > Cancelar inscripcion: > mail to: majordomo en tlali iztacala unam mx > text : unsubscribe pgsql-ayuda >
#!/usr/bin/perl # Programa para salvar todas las bases de datos PostgreSQL de un usario # Creado por Jesus Aneiros aneiros en jagua cfg sld cu # 2000.07.25 # # Es obligatorio definir la variable $user (usuario propietario de las BD) # y la variable $pathbase (directorio donde se salvaran) # El directorio donde apunte pathbase debe existir y tener permisos de escritura use DBI; use strict; # Nombre del usuario al cual se le salvaran las BD my $user = 'aneiros'; # Directorio donde se salvaran las BD my $pathbase = '/home/aneiros/salva_bd'; # Conectarse a postgreSQL my $dbh = DBI->connect("dbi:Pg:dbname=$user", "", "") || die DBI::errstr; # Consulta para obtener las BD de ese usuario my $query = "SELECT datname FROM pg_database WHERE datdba = (SELECT usesysid FROM pg_user WHERE usename = ?)"; my $sth = $dbh->prepare($query) || die $dbh->errstr; $sth->execute($user) || die $dbh->errstr; my $bdname; # Nombre de la base de datos my $rv = $sth->bind_columns(\$bdname) || die $sth->errstr; while ( $sth->fetch ) { print "Salvando $bdname...\n"; system("pg_dump $bdname > $pathbase/$bdname.bak"); } $sth->finish; $dbh->disconnect;