Дамп базы MySql Java Ubuntu

365
12 сентября 2017, 08:00

Есть такой код Java:

String PATH = "";
if(WebRequest.isUnix()) {
    PATH = SEPARATOR+"backup";
} else {
    PATH = System.getProperty("ROOT_DIR")+SEPARATOR+"backup";
}
File BACKUP_DIR = new File(PATH);
BACKUP_DIR.mkdir();
LOGGER.info("BACKUP DIR - "+BACKUP_DIR);
File FILE = new File(BACKUP_DIR+SEPARATOR+"backup"+new SimpleDateFormat("yyyyMMdd").format(Calendar.getInstance().getTime())+".sql");
if(FILE.exists()) {
    Files.deleteIfExists(FILE.toPath());
}
LOGGER.info("BACKUP FILE - "+FILE);
String CMD = "";
if(WebRequest.isUnix()) {
    CMD = "/usr/bin/mysqldump --host=localhost --user=root --password=root bitstep > "+FILE.getPath();
} else {
    CMD = "E:\\Programs\\Xampp\\mysql\\bin\\mysqldump.exe -u root -p root --database test -r " + FILE.getPath();
}
LOGGER.info("EXECUTE COMMAND - "+CMD);
if(!CMD.isEmpty()) {
    Process runtimeProcess = Runtime.getRuntime().exec(CMD);
    int processComplete = runtimeProcess.waitFor();
    if (processComplete == 0) {
        LOGGER.info("Backup Complete");
    } else {
        LOGGER.info("Backup Failure");
    }
}

Система Ubuntu 16.04. По почему-то не срабатывает. Если я выполню команду через консоль SSH, то все нормально, а так нет. Ошибок нет, ничего нет. В чем может быть проблема?

Answer 1

Решено:

String[] cmdarray = {"/bin/sh","-c",command}; 
Process process = Runtime.getRuntime().exec(cmdArray);

Источник: https://stackoverflow.com/a/28694869/4444092

READ ALSO
Java диалоговое окно в случае ошибки

Java диалоговое окно в случае ошибки

Есть код запроса в удаленную БДКак сделать так, чтобы в случае любой ошибки в этом участке кода появлялось окно с ошибкой, или хотя бы со стандартной...

332
метод, возвращающий из json файла коллекцию

метод, возвращающий из json файла коллекцию

Добрый день! Помогите написать метод,возвращающий из json файла MAP коллекцию {Id,Code}

265
Запрос для поиска по части слова

Запрос для поиска по части слова

Всем привет, такой вопросик, есть сервлет в нем такой вот запрос для поиска:

270