Script Timeout

Diskutiere Script Timeout im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hi, Wie kann man in ein Script ein Timeout einbauen, das z.B. das Script beendet, wenn eine Web site down ist oder irgendwas anders sich...

  1. #1 felixka, 21.04.2007
    Zuletzt bearbeitet: 21.04.2007
    felixka

    felixka Jungspund

    Dabei seit:
    19.04.2007
    Beiträge:
    11
    Zustimmungen:
    0
    Hi,
    Wie kann man in ein Script ein Timeout einbauen, das z.B. das Script beendet, wenn eine Web site down ist oder irgendwas anders sich aufhängt?
    Code:
    #!/bin/sh
    .
    TIMEOUT=10
    .
    wget http://xxxxxxxxxx
    .
    blah
    .
    blah x
    .
    exit 0
    
    gruss - felix
     
  2. buli

    buli Debianator

    Dabei seit:
    16.09.2006
    Beiträge:
    789
    Zustimmungen:
    0
    Ort:
    Essen/Ruhrgebiet
    Code:
    if [-z Datei ]; then
    exit 1
    Würde ich mal sagen
     
  3. #3 Wolfgang, 21.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Den Timeout für wget kannst du im Programm selbst konfigurieren.
    Dann den Rückgabecode ($?) auslesen, und du weißt ob erfolgreich oder nicht.
    Allgemein:
    Für solche Echtzeitprozesse ist die Shell nicht geeignet, da die Scripte im Batchmodus abgearbeitet werden.Das bedeutet, ein Command wird erst nach Beendigung des vorherigen ausgeführt.

    Du kannst Subshells starten und in den Hintergrund schicken.
    Oder die angewendeten Programme/Buildins haben selbst eine Option einen Timeout zu setzen (wie wget).

    In jedem Fall musst du dich selbst um die Rückgabewerte und/oder noch laufenden Prozesse kümmern.

    Dafür kannst du ps mit grep oder pgrep und kill verwenden.

    Gruß Wolfgang
     
  4. #4 felixka, 22.04.2007
    felixka

    felixka Jungspund

    Dabei seit:
    19.04.2007
    Beiträge:
    11
    Zustimmungen:
    0
    Danke,

    Code:
    #!/bin/sh
    
    wget -T --connect-timeout=5 http://xxxxxxxxxx -O /filepath
    .
    blah
    .
    blah x
    .
    exit 0
    
    Nach 5 Sekunden würde die Verbindung abgebrochen werden und der Rest des Skripts abgearbeitet werden. Richtig?

    gruss - felix
     
  5. #5 felixka, 23.04.2007
    felixka

    felixka Jungspund

    Dabei seit:
    19.04.2007
    Beiträge:
    11
    Zustimmungen:
    0
    Ist wohl so nicht richtig.

    Wie ist der Syntax für wget mit timeout option?

    Danke
    felix
     
  6. #6 Schlaubi_fi.de, 24.04.2007
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    das steht in der wget Man-Page.
     
  7. #7 felixka, 26.04.2007
    felixka

    felixka Jungspund

    Dabei seit:
    19.04.2007
    Beiträge:
    11
    Zustimmungen:
    0
    Danke für die 'hilfreiche' Antwort.

    Vielleicht kann mal einer wirklich versuchen mir zu helfen. Irgendwie bekomm ich's nicht gebacken

    Danke felix
     
  8. #8 Fallout, 27.04.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Hi,

    vermutlich hast Du etwas in der manpage falsch verstanden.

    Der Abschnitt
    soll ein synonym darstellen.

    Code:
    #entweder
    wget -T 5 http://xxxxxxxxxx -O /filepath
    #oder
    wget --timeout=5 http://xxxxxxxxxx -O /filepath
    --timeout ist imho im Skript sinnvoller, da ja auch mal der DNS (--dns-timeout) hängen oder der Download (--read-timeout) einschlafen könnte. Oder Du setzt sie einzeln mit verschiedenen Zeiten o. ä.

    Bei Erreichen des Timeouts wird nur der wget-Befehl abgebrochen, nicht das komplette Skript.
    Wenn Du dieses noch vom Erfolg des wget abhängig machen möchtest, hat Dir Wolfgang schon einen Hinweis dazu gegeben.

    Gruß Daniel
     
  9. #9 felixka, 27.04.2007
    felixka

    felixka Jungspund

    Dabei seit:
    19.04.2007
    Beiträge:
    11
    Zustimmungen:
    0
    @Fallout,

    danke für die ausführliche Hilfe...glaube jetzt hab ich's geschnallt.
    Bin halt neu im Geschäft.

    Danke - felix
     
Thema:

Script Timeout

Die Seite wird geladen...

Script Timeout - Ähnliche Themen

  1. Timeout für ein Bash Script

    Timeout für ein Bash Script: Hallo, ich hoffe, dass ich hier richtig bin. Meine Frage ist, glaube ich, nichts besonderes aber dennoch konnte ich bei google leider keine...
  2. Python Script Hilfe

    Python Script Hilfe: Hey Leute, bin ganz neu hier und auch das Programmieren fällt mir noch nicht ganz so leicht... hab deswegen mal eine frage und hoffe jemand kann...
  3. Crontab und Scripts - Problem

    Crontab und Scripts - Problem: Hallo Zusammen Ich habe ein Script welches mittels Cronjob ausgeführt werden soll. Gemäss Log wird es auch ausgeführt, jedoch passiert nichts:...
  4. Script kopieren

    Script kopieren: Hallo, ich habe eine Frage: ich schreibe grade ein Unix script und möchte mit einem Befehl, eine bestimmte Bereich von diesem script in einem...
  5. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....