Prüfen ob Verzeichnis auf Server existiert

Diskutiere Prüfen ob Verzeichnis auf Server existiert im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Wie kann ich prüfen, ob ein Verzeichnis auf einem Server existiert, habs so gemacht: if [ -d fire:/verzeichnis/ ] then ... fi Das geht...

  1. #1 PhoenixDH, 28.09.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Wie kann ich prüfen, ob ein Verzeichnis auf einem Server existiert, habs so gemacht:
    Code:
    if [ -d fire:/verzeichnis/ ]
    then
    ...
    fi
    
    Das geht aber leider nicht, wieso ?
     
  2. #2 Schlaubi_fi.de, 28.09.2005
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    Was meinst du mit Sever? Meinst du damit einen anderen Rechner???

    Wenn ja dann brauchst höchstwahrscheinlich schon einen SSH-Zugang um das zu verskripten...


    a la ssh user@host "test -d <dir> && echo Verzeichnis vorhanden."
     
  3. #3 MrFenix, 28.09.2005
    MrFenix

    MrFenix Executor

    Dabei seit:
    16.10.2004
    Beiträge:
    480
    Zustimmungen:
    0
    Ort:
    Siegen, NRW
    Oder Verzeichnisstruktur vom Server mounten.
     
  4. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Äääääh? Nein bitte nicht ;o).

    Wenn ich Wein aus Italien importiere, rufe ich zuerst an und informiere mich und fahre nicht runter um zu schauen, ob die den Wein auf Lager haben.
     
  5. #5 PhoenixDH, 30.09.2005
    Zuletzt bearbeitet: 30.09.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Ja, einen anderen Rechner meine ich, wie müsste die Syntax in meinem Fall genau aussehen, komm damit nicht klar !

    Dank dir !

    Habs so versucht:
    Code:
    if [ ssh root@${WEBSERVER} "test -d /opt/lampp/htdocs/docs/docs_$2/$4/" ]
    then
    scp -r ${WEBSERVER}:/opt/lampp/htdocs/docs/docs_$2/$4/ ${WEBSERVER}:/opt/lampp/htdocs/docs/backup/docs_$2/
    fi
    
    Da kommt aber folgende Fehlermeldung:
    Code:
    cfg2html_catch_all.sh[106]: [: root@fire: unexpected operator/operand
    
     
  6. #6 PhoenixDH, 05.10.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Hat keiner ne Hilfe für mich ?
     
  7. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Du hat fuehr bash die falschen Klammern benutzt. Es sollte lauten:
    Code:
    if ( ssh root@${WEBSERVER} "test -d /opt/lampp/htdocs/docs/docs_$2/$4/" );
    then # rest vom Skript
    
    Allerdings musst Du dann das Passwort eingeben, was fuer Skripte meist nicht wuenschenswert ist. Die andere Moeglichkeit ist, einen ssh-Schluessel zu generieren und auf ${WEBSERVER} abzulegen (mit ssh-keygen):
    Code:
       ssh-keygen -t rsa 
    und bei Passwort nur 'enter' eingeben.
    Das erzeugt (per default) die Datei ~/.ssh/id_rsa.pub
    Die musst Du dann in die Datei /root/.ssh/authorized_keys auf dem ${WEBSERVER} kopieren, z.B. durch
    Code:
       cat id_rsa.pub >> /root/.ssh/authorized_keys 
    nachdem Du die Datei id_rsa.pub zum ${WEBSERVER} kopiert hast.
     
  8. #8 PhoenixDH, 05.10.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Die beiden Rechner sind gegenseitig authorisiert, sprich Zugang ohne ssh-PW ist erlaubt !
    Daran kann es nicht hängen !
     
  9. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Der eigentlich Fehler liegt auch darin, dass in Du in Deiner if-Bedingung eckige Klammern benutzt "if [ foo ]", es aber runde oder geschweifte sein muessen "if { foo }" bzw. "if ( foo )".
     
  10. #10 PhoenixDH, 05.10.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Wieso das, ich benutze sonst auch immer eckige und es klappt, wenn dann müsste da ein Unterschied sein !
    Ebenso wird das Script weiter abgearbeitet, er macht nur die Bedingung nicht !
     
  11. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    "man test" und "man bash" sollte Dir helfen.

    Gruss, Phorus
     
  12. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    In eckige Klammern kannst Du boolsche Ausdruecke fuegen ("if [ -d /tmp]; ..."), wenn Du aber den Erfolg eines Befehls testen moechtest, musst Du diesen in runden oder geschweiften Klammern abgeben. Probier's mal aus.

    (info bash ist etwas komfortabler als man bash)
     
  13. #13 PhoenixDH, 07.10.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Dank euch !
    Es funktioniert endlich !
     
Thema: Prüfen ob Verzeichnis auf Server existiert
Besucher kamen mit folgenden Suchen
  1. linux Verzeichnis prüfen

    ,
  2. unix existiert verzeichnis

    ,
  3. shell prüfen ob rechner existiert

Die Seite wird geladen...

Prüfen ob Verzeichnis auf Server existiert - Ähnliche Themen

  1. mit einem prüfbefehl mehrere verzeichnisse prüfen (z.b ../check_disk -w 1000 -c 2000)

    mit einem prüfbefehl mehrere verzeichnisse prüfen (z.b ../check_disk -w 1000 -c 2000): hallo leute, wie kann ich mit nur einem prüfbefehl mehrere verzeichnisse auf ihre belegung abfragen und dazu noch schwellwerte vergeben ? bis...
  2. Prüfen ob Verzeichnis: Verzeichnis hat leerzeichen??

    Prüfen ob Verzeichnis: Verzeichnis hat leerzeichen??: Hallo Leute, ich arbeite an einem Script und scheitere an einem Problem, was eigentlich ganz einfach ist... ich lese mit ls ein Verzeichnis...
  3. LiMux: Expertengruppe soll mögliche Rückkehr zu Windows prüfen

    LiMux: Expertengruppe soll mögliche Rückkehr zu Windows prüfen: Das von Münchens ehemaligem Oberbürgermeister Christian Ude eigentlich als abgeschlossen erklärte Migrationsprojekt sämtlicher 15000 PCs der...
  4. IF- Anweisen auf einen Bereich prüfen

    IF- Anweisen auf einen Bereich prüfen: Hallo zusammen, kann man in einer IF- Anweisen auf einen Bereich prüfen, z.B. wenn Wert zwischen 7 bis 15 liegt dann … sonst nix :) ? Im...
  5. Prüfen ob ein Datum innerhalb letzten 2 Wochen liegt

    Prüfen ob ein Datum innerhalb letzten 2 Wochen liegt: Hallo, ich bräuchte eine Funktion die prüft ob ein Datum im Format tt.mm.JJJJ innerhalb der letzten 2 Wochen liegt. Oder anders ausgedruckt, ob...