mysqldump(错误代码:2)尝试使用 wildfly 从 linux(服务器)中的 java 进行备份
mysqldump (Errcode: 2) trying do backup from java in linux (server) with wildfly
我在 linux-server 中与 wilfly 一起工作。
当java训练执行命令:
String command = "mysqldump -h "+ hostDB +" -u "+ dbUsername +" "+ dbPassword +" "+ nameDB +" -r \""+ path + backUpFile+"\"";
Process process = Runtime.getRuntime().exec(command);
它正在返回 mysqldump: Can't create/write to file '"/usr/share/wildfly/wildfly-9.0.0.Final/standalone/data/dbBackup/20160301_151254.sql"' (Errcode: 2)
但是当我在 linux-server 中执行该行时 shell 工作正常。
mysqldump -h xx.xx.xx.xx -u username"-pxxx" database -r "/usr/share/wildfly/wildfly-9.0.0.Final/standalone/data/dbBackup/20160301_151254.sql"
主机在不同的机器上。
相同的代码在 windows 的本地机器上运行。
我找到了解决方案:
在 linux 服务器的工作方式与 windows、
不同
我们需要使用
//for linux server
String[] cmdarray = {"/bin/sh","-c",command};
process = Runtime.getRuntime().exec(cmdarray);
我在 linux-server 中与 wilfly 一起工作。
当java训练执行命令:
String command = "mysqldump -h "+ hostDB +" -u "+ dbUsername +" "+ dbPassword +" "+ nameDB +" -r \""+ path + backUpFile+"\"";
Process process = Runtime.getRuntime().exec(command);
它正在返回 mysqldump: Can't create/write to file '"/usr/share/wildfly/wildfly-9.0.0.Final/standalone/data/dbBackup/20160301_151254.sql"' (Errcode: 2)
但是当我在 linux-server 中执行该行时 shell 工作正常。
mysqldump -h xx.xx.xx.xx -u username"-pxxx" database -r "/usr/share/wildfly/wildfly-9.0.0.Final/standalone/data/dbBackup/20160301_151254.sql"
主机在不同的机器上。
相同的代码在 windows 的本地机器上运行。
我找到了解决方案:
在 linux 服务器的工作方式与 windows、
不同我们需要使用
//for linux server
String[] cmdarray = {"/bin/sh","-c",command};
process = Runtime.getRuntime().exec(cmdarray);