Script Timeout

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von felixka, 21.04.2007.

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

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

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #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
     
  11. #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. 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....
  3. Bashscript aus Debian6 läuft nicht auf Debian7

    Bashscript aus Debian6 läuft nicht auf Debian7: Hallo an alle, nachdem ich ein Skript von squeeze auf wheezy kopiert habe und ausführte, erschienen gleich wilde Fehlermeldungen, nach denen ich...
  4. Shell Script Problem

    Shell Script Problem: Hallo zusammen, ich arbeite momentan mit einem Plagiat Tool, die ich über Git Bash ausführe. Es wird im Endeffekt ein Link generiert, die ich...
  5. Externes Programm mit Script ausführen?

    Externes Programm mit Script ausführen?: Hallo, ich würde gern ein Script zum klonen von festplatten schreiben z.B. mit dem Programm Mondo Rescue. Ist es möglich externen Programmen...