1

我必须在 Java 中执行 rdiff-backup 命令。我绝望地尝试使用运行时执行从本地到远程的备份命令。

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

由于相同的命令在 Windows shell 中工作,远程命令拒绝工作,我尝试过这样的事情:

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);

收到此错误:致命错误:开关丢失或错误数量的参数

谢谢你的帮助...

4

1 回答 1

0

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

于 2016-05-09T13:15:52.420 回答