Prüfen ob Verzeichnis auf Server existiert

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von PhoenixDH, 28.09.2005.

  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. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #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."
     
  4. #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.
     
  5. 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.
     
  6. #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
    
     
  7. #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 ?
     
  8. 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.
     
  9. #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 !
     
  10. 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 )".
     
  11. #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 !
     
  12. 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
     
  13. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  14. 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)
     
  15. #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

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...