hackers! Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
13 de Marzo de 2010, 05:11:06
Inicio Buscar Ayuda Ingresar Registrarse
Noticias: ¿Quieres usar GNU/linux y no sabes como? Entonces haz click > AQUÍ <
Gracias gente :
Ecuador!Guatemala!!UruguayBrasilRepublica DominicanaBolivia *USAColombia!ESPAÑA!Venezuela!Chile **El Peru!ArgentinaMexico
+  Foros pOrtal Hacker
|-+  Programacion
| |-+  JAVA (Moderador: kamui23)
| | |-+  backup MySQL en java con una terminal linux
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: backup MySQL en java con una terminal linux  (Leído 588 veces)
Que buscas?..
|Np|
e-Zine Writer
*****
Desconectado Desconectado

Mensajes: 56


Fr33 \\0rld !!!!


Ver Perfil
« : 02 de Julio de 2009, 01:11:50 »

hola bueno la vdd es que e estado intentando hacer esto en linux por que en windows un muy facil y kiser probarlo en linux... lo cual no epodido mucho hacer cosas desde linux intete en un programa anterior ejecutar un archivo desde una terminal .. y solo ejecuta la terminal pero no la ruta ni nada  :-[ :-[ y ahora que necesito ahcer esto de un respaldo con java no puedo ejecutarlo por que es el mismo probrela de la terminal  espero me puedan ayudar...  por cierto es codigo esta comentado para windows si  lo descomentan funciona perfectamente ... gracias y espero me puedan ayudar saludo

Código:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.BufferedReader;
import javax.swing.JOptionPane;

public class prueba extends javax.swing.JFrame {


    /** Creates new form prueba */
    public prueba() {
        initComponents();

    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("jButton1");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(43, 43, 43)
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(231, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(83, 83, 83)
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(170, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
//    File backupFile = new File("C:\\MULTI\\Respaldo.sql");
    File backupFile = new File("//home//chino//Escritorio//Respaldo.sql");
        try {
            FileWriter fw = new FileWriter(backupFile);
            Runtime runtime = Runtime.getRuntime();
//   WINDOWS         Process child = runtime.exec("C:\\Archivos de programa\\MySQL\\MySQL Server 4.1\\bin\\mysqldump --opt --password=root --user=root bdsis");
//LINUX
            Process child = runtime.exec("mysqldump -u root -p --all-databases > //home//chino//Escritorio//fichero.sql");
            Process child = runtime.exec("mysqldump --op -u root -p 1 --all-databases");
            InputStreamReader irs = new InputStreamReader(child.getInputStream());
            BufferedReader br = new BufferedReader(irs);
            /* se escribe sobre el archivo*/
            String line;
            while( (line=br.readLine()) != null ) {
                fw.write(line + "\n");
            }
            JOptionPane.showMessageDialog(this, "Backup creado con exito", "BackUp", JOptionPane.INFORMATION_MESSAGE);
        } catch (IOException ex) {
            Logger.getLogger(prueba.class.getName()).log(Level.SEVERE, null, ex);
        }

}//GEN-LAST:event_jButton1ActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new prueba().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    // End of variables declaration//GEN-END:variables

}
« Última modificación: 04 de Julio de 2009, 02:03:23 por |Np| » En línea

Nuetro Miedo + profuundo No Es Crees Que Somos Inadecuados. Nuestro Miedo + Profundo Es Saber Que Somos Poderosos Mas Alla De La Mesura. Es Nuestra Luz, No Nuestra Oscuridad, Lo Que + Asusta...Esta Gloria No Esta Dentro De Unos Cuantos, Esta Dentro De Todos Nosotros.  | Guerrero De Luz |
kamui23
Moderador
*****
Desconectado Desconectado

Mensajes: 855



Ver Perfil
« Respuesta #1 : 02 de Julio de 2009, 12:17:21 »

Explícate mejor, en español, no en indio. No hay persona que se tome el tiempo en descifrar ese jeroglífico que has escrito.
En línea

Busco una meta: conseguir lo que nadie ha conseguido. Y hacerlo en la mitad de tiempo.


No respondo preguntas por mensaje privado. para dudas, escribid en el foro, por favor.
|Np|
e-Zine Writer
*****
Desconectado Desconectado

Mensajes: 56


Fr33 \\0rld !!!!


Ver Perfil
« Respuesta #2 : 02 de Julio de 2009, 09:27:53 »

oks gracias (Y)....  bueno  mejor pregunto.. alguien sabe ejecutar aplicaciones en linux ¿.... como un .sh ... digamos ejecutar aplicaciones como serian en windows un .bat... "" con runtime.exec(comandos), pero que funcione en linux ¿?.....
 gracias espero me puedan ayudar
En línea

Nuetro Miedo + profuundo No Es Crees Que Somos Inadecuados. Nuestro Miedo + Profundo Es Saber Que Somos Poderosos Mas Alla De La Mesura. Es Nuestra Luz, No Nuestra Oscuridad, Lo Que + Asusta...Esta Gloria No Esta Dentro De Unos Cuantos, Esta Dentro De Todos Nosotros.  | Guerrero De Luz |
kamui23
Moderador
*****
Desconectado Desconectado

Mensajes: 855



Ver Perfil
« Respuesta #3 : 04 de Julio de 2009, 03:42:44 »

try
{
String command;
command="ls";
//command="mount -h";
final Process process = Runtime.getRuntime().exec(command);
new Thread(){
public void run(){
try{
InputStream is = process.getInputStr eam();
byte[] buffer = new byte[1024];
for(int count = 0; (count = is.read(buffer)) >= 0;){
System.out.write(buffer, 0, count);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}.start();
new Thread(){
public void run(){
try{
InputStream is = process.getErrorStr eam();
byte[] buffer = new byte[1024];
for(int count = 0; (count = is.read(buffer)) >= 0;){
System.err.write(buffer, 0, count);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}.start();

int returnCode = process.waitFor();
System.out.println("Return code = " + returnCode);
}
catch (Exception e){
e.printStackTrace();
}
En línea

Busco una meta: conseguir lo que nadie ha conseguido. Y hacerlo en la mitad de tiempo.


No respondo preguntas por mensaje privado. para dudas, escribid en el foro, por favor.
|Np|
e-Zine Writer
*****
Desconectado Desconectado

Mensajes: 56


Fr33 \\0rld !!!!


Ver Perfil
« Respuesta #4 : 04 de Julio de 2009, 01:50:39 »

gracias por contestar amigo aqui propongo otra respuesta:

en la linea mkdir se la ejecuta directamente  pero la segunda linea de string ya no lo ejecuta y esa era  mi interrogante el por que no lo hacer, estuve haciendo varios intento  para respaldar una base de datos de mysql,  hasta que vi cual era mi error jijiij, y encontre qeu en un Array de String que ponemos sh ( que a lo que entendi una shell ) y -c para ejecutarlo,  seguido de nuestra declaracion cool  y ya kedo mi programa prueba aki, lo comparto con el foro ,saludos y se esperan comentarios  cura

 NOTA:
SOlo cambiar Usuario por tu usuaro de linux y listo (Y), tambien -u root es el usuario de la base de datos y -p1 es el password que yo asigne 1, me vase en un script bash para poder realizar la operacion y esto hacer un respalgo de todo de mysql pero si kieren hacer solo de una base en especifico usa este comando:

#mysqldump -u root -ppwd nombre_base_de_dato s > fichero.sql
 mysqldump -uroot -ppwd --opt db2.sql > /home/usuario/fichero.sql


Código:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author |Np|
 */
public class Terminal {
    public static void main(String []args){
     try
        {
//            String linea = "mkdir /home/usuario/MI CAPERTETA DESDE JAVA";
//            String linea = "mysqldump -u root -p1 --all-databases > /home/usuario/Escritorio/fichero.sql";
//            String[] linea = {"sh","-c","mkdir /home/usuario/Escritorio/hola"};
            String[] linea = {"sh","-c","mysqldump -u root -p1 --all-databases > /home/usuario/Escritorio/fichero.sql"};
            Process procesos = Runtime.getRuntime().exec( linea );

        }
        catch( Exception e)
        {
            e.printStackTrace();
        }
    }
}

« Última modificación: 04 de Julio de 2009, 02:03:00 por |Np| » En línea

Nuetro Miedo + profuundo No Es Crees Que Somos Inadecuados. Nuestro Miedo + Profundo Es Saber Que Somos Poderosos Mas Alla De La Mesura. Es Nuestra Luz, No Nuestra Oscuridad, Lo Que + Asusta...Esta Gloria No Esta Dentro De Unos Cuantos, Esta Dentro De Todos Nosotros.  | Guerrero De Luz |
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión
Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC hacker descargas gratis
Ranking-Hits