El otro día tuve un montón de problemas queriendo respaldar una base de datos desde portgres, pedi ayuda a los broders del grupo de ubuntu y el prix Igor me ayudo bastante, hasta el punto que lo que el mae me paso lo combine con otra cosa que habia leído en internet y me soluciono el problema.
Anteriormente pensaba que hacer el respaldo iba a se mas facil, pero habia un problema, que al ejecutar el comando de respaldo, el servidor postgres se queda esperando que el usuario introduzca la contraseña, lo cual yo no sabia como pasar de parámetro, tons, la forma de hacerlo fue asi miren el codigo:
Anteriormente pensaba que hacer el respaldo iba a se mas facil, pero habia un problema, que al ejecutar el comando de respaldo, el servidor postgres se queda esperando que el usuario introduzca la contraseña, lo cual yo no sabia como pasar de parámetro, tons, la forma de hacerlo fue asi miren el codigo:
Lo que se hace es crear un proceso con el comando de pg_dump que es el encargado de respaldar lo que hay en el server de postgres y establecer una variable de entorno (PGPASSWORD), dicha variable es la que almacena la clave del usuario de postgres que esta tratando de conectarse, tons, asunto resuelto, de esta forma es como pasarle la clave en forma de parametro.
Espero les sirva, para consultas, jeje, dejen su comentario.
12 comentarios:
Hola! Excelente blog! He hecho pequeñitas modificaciones a tu codigo, y lo he publicado... (javierscappini.blogspot.com)
Exitos y Adeltante!
"Sigue con la mente abierta y la imaginacion indomita!"
Javier Scappini.
ok, me voy a dar una vuelta por el tuyo.
Saludos
¿No está repetida la llamada a getRuntime?
r = Runtime.getRuntime();
Si hace falta ponerla las 2 veces, ¿podrías explicar por qué?
creo que tenes razon, la sentencia
r = Runtime.getRuntime(); está repetida sin ningún sentido.
Gracias por la aclaración, la verdad es que no me fije. Voy a corregirlo
Saludos, me parece muy bueno tu codigo y muy facil de entender, pero al copiarlo y compilarlo me surgio un poblemita con el ProcessBuilder, me gustaria saber que clase en especial tengo que imnportar para que funcione?, hasta luego gracias.
Hola !
Primero muy bueno el ejemplo, me sirvió de mucho. Quisiera preguntarles algo; hice el mismo ejemplo, con parámetros distintos, para restaurar la base de datos. EL tema es que a veces funciona bien, y a veces no. Cuando no me restaura bien no me tira ninguna una excepción … es decir me la oculta … hay algún modo qué desde Java pueda ver la execpción que me esta tirando ?,
Muchas gracias
Damián
Hola,
Me parece muy bueno el apunte sobre el ProcessBuilder desde hace un tiempo andaba buscando algo asi.
Hice una modificaciones al codigo para obtener lo que queria, asi me ha funcionado. Muchs Gracias.
Como mencione, con las modificaciones realizadas me ha funcionado y ademas he hecho una pequeña apliacion que maneja las copias de seguridad, si alguien esta interesado en los fuentes del programa escriba a la direccion calojamatt@dessoft.4t.com
Hola, me sirvieron mucho tu código, lo he mejorado y expandido al punto de crear una librería .jar, te invito a que la revises http://zagal-jmusic.blogspot.com/2010/02/dbtools-backup-automaticos-y-otros.html
Saludos...
Hola, hay manera de hacerlo desde un cliente¿?
saludos y gracias.
hola , ktal un saludo. Bueno mi pregunta es la "r", del
Runtime r = Runtime.getRuntime();
q hace??
Hola Buenos días, para descargar el código sólo está la opción de Megaupload y por culpa de la SOPA no se puede descargarpodrías enviarmelo a mi correo marv.lopez@hotmail.com
Gracias de antemano
Publicar un comentario en la entrada