Para compartir

si algun di lelgan a necesitar crear un programa para resutaruar (pg_retore)
desde java en widnows o linux
comparto lo que e codificado, es solo un segmento pero es la base

String sSistemaOperativo= System.getProperty("os.name");
String comando;
//comando que ejecutarias desde la consola
comando=directorioBinario+" -h "+jTxIP.getText()+" -d
"+jTxNombreTabla.getText()+" -U "+jTxNombreUsuario.getText()+"  -v -1
"+archivoRespaldo;


if(sSistemaOperativo.compareToIgnoreCase("Linux")==0){
    env[0]= "PGPASSWORD="+String.valueOf( jPPass.getPassword() ) ;
//variables de entorno
    try {
        p = Runtime.getRuntime().exec(comando, env);//ejecutamos procesos
        mandaImprimir();
    } catch (IOException ex) {
        Logger.getLogger(gPrincipal.class.getName()).log(Level.SEVERE, null,
ex);
    }
    }else{
    try {
        r = Runtime.getRuntime();
        pb = new ProcessBuilder("\""+directorioBinario+"\"", "-h",
jTxIP.getText(), "-d", jTxNombreTabla.getText(), "-U",
jTxNombreUsuario.getText() , "-v","-1" , "\""+archivoRespaldo+"\"");
        pb.environment().put("PGPASSWORD",
String.valueOf(jPPass.getPassword())); //variables de entorno
        pb.redirectErrorStream(true);
        p = pb.start();
        mandaImprimir();
    } catch (IOException ex) {
        Logger.getLogger(gPrincipal.class.getName()).log(Level.SEVERE, null,
ex);
    }
}


private void mandaImprimir(){
    InputStream es = p.getErrorStream();
    arch.muestraSalidaDeError(es);
    es = p.getInputStream();
    arch.muestraSalidaDeError(es);
}

Espero si alguien tubiera la misma duda con esto le pudiera ayudar, muchas
gracias y buen dia

El 7 de septiembre de 2011 10:45, Miguel Angel Hernandez Moreno <
[email protected]> escribió:

> exacto tengo algo por el estilo y muchas gracias ya quedo!!
>
> El 6 de septiembre de 2011 23:00, Jaime Casanova 
> <[email protected]>escribió:
>
> 2011/9/6 Lazaro Rubén García Martinez <[email protected]>:
>> > Jaime, asignar el valor de la contraseña en la variable de entorno
>> PGPASSWORD, no tendría algún impacto negativo en la seguridad????
>> >
>>
>> bueno, segun entiendo el quiere hacer una aplicacion que envie a
>> ejecutar ese comando "incluido" el PGPASSWORD y supongo que pedira la
>> clave como parte de los datos necesarios para mandar a ejecutar el
>> comando... asi que no es como que lo va a tener escrito en algun lado
>>
>> --
>> Jaime Casanova         www.2ndQuadrant.com
>> Professional PostgreSQL: Soporte 24x7 y capacitación
>>
>
>
>
> --
> ISC Miguel Angel Hernandez Moreno
>
>


-- 
ISC Miguel Angel Hernandez Moreno

Responder a