// variables:
public static File rutabackup=null;
public static int selecGuardaBack=0;
// función para capturar la ruta y el nombre del backup:
public void GuardarRutaBackup(){
JFileChooser fc = new JFileChooser();
fc.setApproveButtonText("Guardar Backup SQL");
fc.addChoosableFileFilter(new modulo.SQLFilter());
fc.showSaveDialog(null);
if (fc.getSelectedFile() !=null) {
rutabackup=fc.getSelectedFile();
selecGuardaBack=1;
}
else
if (fc.getSelectedFile() ==null) {
selecGuardaBack=0;
}
}
public void CrearBackup(){
if (selecGuardaBack==1){
Runtime rt = Runtime.getRuntime();
try {
String command = "mysqldump --opt -u"+login+" -p"+password+" "+bd+" -r"+rutabackup+".sql";
rt.exec(command);
JOptionPane.showMessageDialog(null,"Backup creado exitosamente!");
} catch (IOException ex) {
ex.printStackTrace();
}
}
else
if (selecGuardaBack==0){
JOptionPane.showMessageDialog(null,"No se creo ningún archivo de backup!");
}
}
Contáctame:
Jeison Nisperuza
Programador de Sistemas
http://escribojava.blogspot.com/
CREA UNA CLASE CON CUALQUIER NOMBRE Y PON ESTOS METODOS DE LA SIGUIENTE FORMA:::
ResponderEliminarpublic void transfer(InputStream input, OutputStream output) throws Exception {
byte[] buf = new byte[1024];
int len;
while ((len = input.read(buf)) > 0) {
output.write(buf, 0, len);
}
input.close();
output.close();
}
public void generarBackup() throws IOException, Exception {
System.err.println("INICIANDO LA GENERACIÓN DE BACKUPS");
String command = "mysqldump --opt --host=localhost --password=**** --user=miUsuario --databases nomBaseDatos;
java.lang.Process child = Runtime.getRuntime().exec(command);
InputStream input = child.getInputStream();
FileOutputStream output = new FileOutputStream("D:\\back.sql");
try {
transfer(input, output);
System.err.println("TERMINO DE BACKUPS CONFORME");
} catch (Exception e) {
System.err.println("Se manejo una excepcion: " + e.getMessage());
}
}
//CARGAR EL VOID MAIN: Ejem. GeneradorBackup
public static void main(String[] args) {
GeneradorBackup generar = new GeneradorBackup();
try {
generar.generarBackup();
} catch (IOException ex) {
Logger.getLogger(GeneradorBackup.class.getName()).log(Level.SEVERE, null, ex);
System.err.println("Error con IO exception");
ex.printStackTrace();
} catch (Exception ex) {
Logger.getLogger(GeneradorBackup.class.getName()).log(Level.SEVERE, null, ex);
System.err.println("Error con exception simple");
ex.printStackTrace();
}
}
Gracias, Excelente aporte
EliminarBuenas noche, necesito ayuda para realizar el respaldo el codigo esta bien, pero hay cosas que no logro entender, ¿todavia tendras la disponibilidad de explicarme algunas cosas que no entendi?
ResponderEliminar