1

Java で rdiff-backup コマンドを実行する必要があります。ランタイムを使用して、ローカルからリモートへのバックアップコマンドを必死に実行しようとしています。

標準ポート 22 に接続できないため、リモート スキーマを使用する必要があります。

同じコマンドがWindowsシェルで機能するため、リモートコマンドは機能しません。次のようなことを試しました:

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 は適切なコマンドではありません。コマンドがシェルで機能することを確認してから、最初のメソッドで使用します。

于 2016-05-09T13:15:52.420 に答える