Dies ist ein Teil meines Code-Dateien von den lokalen zu einem entfernten Maschine istJava-Runtime-exec mit scp Befehl
try {
Process cpyFileLocal = Runtime.getRuntime().exec("scp " + rFile+"*.csv" + " [email protected]" + host + ":" + lFile);
InputStream stderr = cpyFileLocal.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("<ERROR>");
while ((line = br.readLine()) != null) {
System.out.println(line);
}
System.out.println("</ERROR>");
int exitVal = cpyFileLocal.waitFor();
System.out.println("Process exitValue: " + exitVal);
System.out.println("...." + cpyFileLocal.exitValue());
System.out.println("SCP COMMAND "+"scp "+rFile+"*.csv" +" [email protected]"+host+":"+lFile);
System.out.println("Sending complete...");
} catch (Exception ex) {
ex.printStackTrace();
}
die Ausgabe zu kopieren ...
<ERROR>
/opt/jrms/rmsweb/transfer/cn00/outgoing/*.csv: No such file or directory
</ERROR>
Process exitValue: 1
....1
SCP COMMAND scp /opt/jrms/rmsweb/transfer/cn00/outgoing/*.csv [email protected]:/opt/jrms/transfer/incoming/
aber wenn ich laufe die Befehl im Terminal auf dem lokalen Rechner, es funktioniert gut und wenn ich ll die Dateien laufen dort
-rwxr-xr-x 1 freddie freddie 140 April 22 09.13 gc00cn00150420092629.csv *
-rwxr-xr-x 1 freddie freddie 105 22. April 09.13 gc00cn00150420122656.csv *
Jede Hilfe bitte
die seltsame Sache ist die Verwendung des gleichen Befehls, Kopieren von Dateien aus der Ferne auf meine lokale Maschine * .csv funktioniert gut, jedoch mit * .csv von Local nach remote, das ist, wenn das Problem auftritt. Ameisen Ideen? Danke, –
Es ist, weil scp diesen Befehl auf Remote-Server (und wahrscheinlich in einer Bash) interpretiert, und die Liste der Dateien wird auf diesem Host, nicht lokal erweitert werden. Wenn Sie jedoch versuchen, den Dateiaustausch lokal zu remote durchzuführen, gibt es keine bash, um sie zu erweitern. – Mehraban
danke für die schnelle Antwort, werde es versuchen. –