Невозможно сделать резервную копию базы данных mysql с помощью ProcessBuilder () - PullRequest
0 голосов
/ 04 апреля 2019

Я написал код для резервного копирования базы данных mysql с помощью ProcessBuilder (), поэтому здесь я не могу завершить процесс всегда, я получаю код завершения процесса как 6, где ожидается как 0

Please someone help for this scenario 

public static boolean backupDataWithDatabase(String dumpExePath, String user, String password, String database,
        String backupPath) {

    boolean status = false;
    try {
        ProcessBuilder processBuilder = new ProcessBuilder();
        processBuilder.command("cmd.exe", "/c");
        Process runtimeProcess = processBuilder.start();

        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
        Date date = new Date();
        String filename = "backup(with_DB)-" + database + "-(" + dateFormat.format(date) + ").sql";

        String batchCommand = dumpExePath + " -u" + user + "  -p" + password + " " + database + " >" + backupPath
                + "" + filename + "";

        System.out.println(batchCommand);

        Runtime runtime = Runtime.getRuntime();
        runtimeProcess = runtime.exec(new String[] { "cmd.exe", "/c", batchCommand });

        int processComplete = runtimeProcess.waitFor();

        if (processComplete == 0) {
            status = true;
            System.out.println("Backup created successfully for DB : " + database);
        } else {
            status = false;
            System.out.println("Unable to create backup for DB : " + database);
        }

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