Ich muss rdiff-backup-Befehle in Java ausführen. Ich versuche verzweifelt, einen Backup-Befehl von lokal nach remote mit Runtime auszuführen.rdiff-backup Java-Laufzeit exec Remote-Multiargumente Probleme
Ich brauche ein Remote-Schema zu verwenden, weil ich nicht Port 22
Als selber Befehl standart verbinden kann arbeitete in Windows-Shell, Remote-Befehle verweigern zu arbeiten, ich habe so etwas wie dies versucht:
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 "
+"[email protected]::/var/backup");
immer diese Fehlermeldung: Fatal error: Bad Kommandozeilen-Optionen: Option nicht erkannt -C
oder
String[] commandLine= {"C:/rdiff/rdiff-backup.exe",
"C:/Users/Utilisateur/Desktop/backup",
"\"-p 16000 [email protected]\"",
"::/var/backups"};
Runtime r = Runtime.getRuntime();
Process proc = r.exec(commandLine);
immer diese Fehlermeldung: Fatal Error: Schaltet fehlende oder falsche Anzahl von Argumenten
Danke für Ihre Hilfe ...
Vielen Dank! Es funktioniert schließlich mit: Prozess proc = r.exec ("C: /rdiff/rdiff-backup.exe" + "- Remote-Schema" + "\" ssh -p16000% s rdiff-backup --server \ "" + "C:/Benutzer/Utilisateur/Desktop/backup" + "[email protected] ::/var/backups"); Aber ich bekomme keine Antwort (hoffentlich 0) mit InputStream is = proc.getInputStream(); result = new BufferedReader (neuer InputStreamReader (is)) .zeilen(). Collect (Collectors.joining ("\ n")); –
siehe http://stackoverflow.com/questions/5711084/java-runtime-getruntime-getting-output-from-executing-a-command-line-program für eine Lösung beim Lesen der Ausgabe von dem Befehl –
Das ist perfekt, noch einmal vielen Dank Christian. –