Erro ao gerar o BACKUP pelo java no linux

Pessoal, peguei este codigo como exemplo no http://www.devmedia.com.br/fazendo-backups-do-mysql-em-java/17568, porem de acordo com a ‘saida’ ele é gerado, mas não gera o arquivo ‘.sql’.

@ViewScoped 
@ManagedBean 
public class BackupBean {    
  // Constantes da classe    
  private static String VERSION = "5.7.15"; 
  private static String SEPARATOR = File.separator;      
    private static String MYSQL_PATH =+SEPARATOR+"usr" + SEPARATOR +"bin" +  SEPARATOR;   
    private static String PRESENTATION =  
    "==========================================================\n" + 
    "  Backup do banco de dados MySQL - Versao " + VERSION + "\n" + 
    "  Autor: Ewerthon \n\n" + 

“==========================================================\n\n”;

  private static String DATABASES = "tecnologiaDB "; 
  private List<String> dbList = new ArrayList<String>(); 
  public void  MySQLBackup() { 
    String command = MYSQL_PATH + "mysqldump";  
    String[] databases = DATABASES.split(" "); 
    for (int i = 0; i < databases.length; i++) 
      dbList.add(databases[i]); 
    // Mostra apresentação 
    System.out.println(PRESENTATION); 
    System.out.println("Iniciando backups...\n\n"); 
    // Contador 
    int i = 1; 
    // Tempo 
    long time1, time2, time; 
    // Início 
    time1 = System.currentTimeMillis(); 
    for (String dbName : dbList) { 
      ProcessBuilder pb = new ProcessBuilder( 
        command, 
        "--user=root", 
        "--password="senha", 
        dbName, 
        "--result-file= " +SEPARATOR +"home"+ SEPARATOR +"everton" + SEPARATOR + dbName + ".sql"); 
      System.out.println( 
     "--result-file=" +SEPARATOR +"home"+ SEPARATOR +"everton" + SEPARATOR + dbName + ".sql"); 
      try { 
        System.out.println( 
          "Backup do banco de dados (" + i + "): " + dbName + " ..."); 
        pb.start(); 
      } 
      catch (Exception e) { 
        e.printStackTrace(); 
      } 
       i++; 
    } 
    // Fim 
    time2 = System.currentTimeMillis();  
    // Tempo total da operação 
    time = time2 - time1; 
    // Avisa do sucesso 
    System.out.println("\nBackups realizados com sucesso.\n\n"); 
    System.out.println("Tempo total de processamento: " + time + " ms\n");  
    System.out.println("Finalizando..."); 
    try { 
      // Paralisa por 4 segundos 
      Thread.sleep(4000); 
    } catch (Exception e) { e }  System.exit(0); }}

A saida é essa abaixo;

Backup do banco de dados MySQL - Versao 5.7.15
Autor: Ewerthon

Iniciando backups…
–result-file=/home/ewerthon/tecnologiaDB.sql
Backup do banco de dados (1): tecnologiaDB …
Backups realizados com sucesso.
Tempo total de processamento: 393 ms
Finalizando…
Termino aplicativo.

qual o motivo de fazer isso?

vc pode fazer via script ant, via shell script, via alguma coisa que faça sentido lidar com a sua infraestrutura…

1 curtida

Blz!? eu não entendi o porque não fazer sentido de usar o código acima ou um runtime.getRuntime().
Essa aplicação vai rodar localmente no cliente.