rdiff备份java运行时exec远程多参数问题



我必须在Java中执行rdiff备份命令。我偶尔尝试用Runtime从本地执行备份命令到远程。

我需要使用远程模式,因为我无法连接到standart端口22。

由于相同的命令在windowsshell中工作,远程命令拒绝工作,我尝试过这样的方法:

Runtime r = Runtime.getRuntime();
Process proc = r.exec("C:/rdiff/rdiff-backup.exe "
+"--remote-schema="
+"ssh -C -p16000 %s rdiff-backup --server "
+"C:/Users/Utilisateur/Desktop/backup "
+"user@xxx.net::/var/backup");

获取此错误:致命错误:错误的命令行选项:选项-C无法识别

String[] commandLine= {"C:/rdiff/rdiff-backup.exe",
"C:/Users/Utilisateur/Desktop/backup",
""-p 16000 user@xxx.net"",
"::/var/backups"};
Runtime r = Runtime.getRuntime();
Process proc = r.exec(commandLine);

获取此错误:致命错误:开关丢失或参数数量错误

谢谢你的帮助。。。

您使用的第一个方法在java中是可以的。但是您的命令行是错误的——ssh-C不是一个合适的命令。确保该命令在shell中有效,然后在第一个方法中使用它。

相关内容

  • 没有找到相关文章

最新更新