4Danke
ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
463
463
EMPFEHLEN
-
Hallo Leute,
ich habe mal eine Frage vllt. kann mir jemand von euch helfen.
Und zwar schreibe ich grad an einem Plugin welches mir lediglich einen Wert zurück gibt, um genauer zu sein den genutzten Speicher auf meiner Festplatte/ Partition/Bereich.
Der Plan mit dem befehl:
echo du -sh . | lftp -u user,password user.your-backup.de
wird einem unter Linux sofern man lftp installiert hat der genutze Speicher zurück gegeben als wert z.B. 43 G. Nun ist mein Problem, dass er wenn ich
Code :1 2 3 4 5 6 7 8 9 10
try { Process ausgabe = Runtime.getRuntime().exec("echo du -sh . | lftp -u "+user+","+password+" "+user+".your-backup.de"); BufferedReader in = new BufferedReader(new InputStreamReader(ausgabe.getInputStream())); text = text+in.readLine();System.out.println(text); } catch (IOException ioe) { System.out.println("Unbekannter Befehl"); System.exit(3); }
wenn ich nun aber das unter linux ausführe baut er mir den Befehl schon richtig zusammen mit den Variablen. Aber er führt den Befehl nicht aus. Er ignoriert das echo und dann hab ich versucht vor der pipe zu escapen ( \ | ) aber bei java ist ja nen backslash automatisch nen befehl.. sogar in nem String ... -.-
Nun meine frage vllt. kennt ja jemand von euch eine einfachere lösung einfach über Java den genutzten speicher auslesen zu lassen (von nem FTP).
-
Guten Abend.
Ich kenn mich leider nicht ganz so gut mit Shell aus aber in Java musst du wenn du einen \ als String nutzen willst eben diesen Escapen. Also würdest du statt "\ |" "\\ |" schreiben.
Probiers mal damit.
Gruß MirarMan kann niemanden überholen, wenn man in seine Fußstapfen tritt...
-
Danke erst einmal, habe gestern auch schon versucht mit \\ er hat es dann auch übernommen, aber der befehl wurde trotzdem nicht ausgeführt.
Das Programm tut sonst alles was es tun soll, aber er führt den Befehl anscheinend auf der Shell einfach nicht aus. Ich habe mir auch schon den Befehl ausgeben lassen den er gebaut hat und 1:1 so in die shell kopiert und enter gedrückt. Und er liefert mir das gewünschte Ergebnis, Problem ist ja nur das ich das nicht immer per Hand machen will, das Script soll schließlich unsere BackUp Server in regelmäßigen Abständen prüfen.
Also ist es notwendig das er das von alleine macht. Ich habe schon von nem Kollegen den Tipp bekommen ich solle mich mit Python versuchen, aber jetzt extra eine neue Programmiersprache zu lernen..... -.-
-
Hi,
ich hab mich auch kürzlich mit der Script-aus-Java-Thematik befasst, allerdings mit Schwerpunkt Batch (also unter Windows).
Soweit ich weiß musst du die entsprechende Schell mit in den command aufnehmen.
Also so etwa:
JavaCode:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13
try { String[] command = {"/bin/bash", "echo du -sh . | lftp -u "+user+","+password+" "+user+".your-backup.de"}; Process ausgabe = Runtime.getRuntime().exec(command); BufferedReader in = new BufferedReader(new InputStreamReader(ausgabe.getInputStream())); while((text=in.readLine())!=null){ log.info(text); } } catch (IOException ioe) { System.out.println("Unbekannter Befehl"); System.exit(3); } }
http://brain.yubb.de/
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
„Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
-
Ich guck mal nachher nach, danke erstmal =)
Ich sag dann bescheid ob es geklappt hat.
-
Mal ne doofe Frage, warum machst Du nicht einfach das direkt mit ner Java-FTP-Library?
-
würde ich auch lieber machen =) hab da nur keine Ahnung, also hatte mich bisher nicht mit beschäftigt. Sitze grad noch an ein paar anderen Sachen kam leider noch nicht dazu hier weiter zu machen.
Wenn du mir sagst wie ich das am besten mit der Java-FTP-Libary mache wäre ich dir sehr dankbar. D.h. wie funktioniert das mit dem Login oder mit dem ausgeben des genutzten Speichers.
-
Hi,
schau doch mal hier
http://www.torsten-horn.de/techdocs/java-ftp.htm
ist afaik mit der apache commons ftp lib gemacht
Grüße,
gore
-
=) okay nen Kollege macht das jetzt mit reiner Shell. Habe es immerhin zum laufen bekommen. Danke an alle.
Ähnliche Themen
-
Java-Shell-Probleme
Von OberPinsel im Forum JavaAntworten: 5Letzter Beitrag: 25.03.10, 16:27 -
Dateien auf anderen Server spiegeln - LFTP
Von deostift im Forum Linux & UnixAntworten: 1Letzter Beitrag: 13.06.07, 13:12 -
Shell Skript mit Java starten
Von desaster0505 im Forum JavaAntworten: 2Letzter Beitrag: 09.03.07, 14:23 -
Java-Programm ohne Shell
Von warlike im Forum JavaAntworten: 5Letzter Beitrag: 15.06.05, 18:51 -
FTP-Verbindung über Shell
Von uwee im Forum Sonstige SprachenAntworten: 2Letzter Beitrag: 18.04.05, 11:23





Zitieren
Login





