[RedHat] Seltsames Verhalten bei Cronjob... Hilfe!!

Dieses Thema im Forum "RedHat,Fedora & CentOS" wurde erstellt von -eraz-, 18.07.2008.

  1. -eraz-

    -eraz- Tripel-As

    Dabei seit:
    27.03.2008
    Beiträge:
    151
    Zustimmungen:
    0
    Hallo Leute,

    ich weiß einfach nicht weiter, hab hier ein total seltsames Verhalten von RedHat V5.2 beim Versuch ein Skript per Cronjob zu starten. Das (bash) Skript das ich geschrieben habe geht über ca. 2 Seiten, ich habe in der Crontab mal eingetragen das es alle 5 Minuten ausgeführt werden soll (testweise). Nun ist es so, dass das Skript auch gestartet wird, aber nur die ersten Zeilen des Skripts verarbeitet werden...??? :think:

    Hier die ersten Zeilen des Skripts:
    Code:
    WORKDIR=/opt/local/norkom/wlm/worldcheck
    IMETHOD=~2
    FILENAME_OLD=$(ls -lS |head -n2 |cut -d" " -f13 |tail -n1)
    DATUM=`date`
    
    ### Vorarbeiten ###
    ###################
    if [ -f $WORKDIR/flag.txt.processed ]; then
      echo "flag.txt.processed und altes Blacklistfile wird gesichert..."
            if [ -d archive ]; then
              rm -R $WORKDIR/archive/*
              mv $WORKDIR/flag.txt.processed $WORKDIR/archive/
              mv $WORKDIR/$FILENAME_OLD $WORKDIR/archive/
              echo "Altes Blacklistfile wird komprimiert, bitte warten..."
              gzip $WORKDIR/archive/$FILENAME_OLD
            else
              echo "$DATUM
                    ACHTUNG!!! Archiv Ordner nicht gefunden, Skriptverarbeitung abgebrochen" >> error.log
              exit 0
            fi
    else
    
    Ich habe im Crontab File die ausgabe in ein Log File ausgegeben. Dieses Logfile wird auch erstellt und es ist folgende Ausgabe drin:
    Und weiter nix...? Das "If" scheint garnicht mehr verarbeitet zu werden, zumindest wird das löschen, verschieben etc. nicht mehr gemacht. Wenn ich das Skript manuell starte klappts wunderbar... weiß einer von Euch was das sein könnte?

    Crontab -l liefert folgende Ausgabe:
    Code:
    */5 * * * * /opt/local/norkom/wlm/worldcheck/download.sh > /opt/local/norkom/wlm/worldcheck/cronjob.log
    (Es gibt nur die eine Zeile)
     
  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. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    in welchem Verzeichnis soll dieses directory denn vorhanden sein??
    Bist du in diesem Verz.? Aus dem script-schnipsel nicht zu ersehen.

    weil
    dort gibst du den absoluten Pfad mit an.
     
  4. -eraz-

    -eraz- Tripel-As

    Dabei seit:
    27.03.2008
    Beiträge:
    151
    Zustimmungen:
    0
    Stimmt, ist noch ein Schönheitsfehler, muss das noch vereinheitlichen. Jedenfalls liegt das Verzeichnis "archive" im selben Verzeichnis wie das Skript.

    Habe mal ein Testskript mit folgendem Code gemacht:
    Code:
    #!/bin/bash
    echo "Skript wird gestartet..."
    if [ -f test.txt ]; then
            echo "File wurde gefunden"
    else
            echo "File wurde nicht gefunden"
    fi
    
    exit 0
    
    die test.txt hab ich manuell angelegt. Wenn ich dieses Skript nun manuell ausführe findet er das File, wenn es per Cronjob ausgeführt findet er das File nicht??? Jetzt sind wirklich alle Klarheiten beseitigt, vorallem weil mein eigentliches Skript eigentlich nen error loggt sollte das Verzeichnis "archive" nicht gefunden werden... ?(
    Kann das ein Bug sein... gibts ja nicht sowas...
     
  5. #4 Aqualung, 18.07.2008
    Aqualung

    Aqualung Routinier

    Dabei seit:
    12.02.2008
    Beiträge:
    404
    Zustimmungen:
    0
    Du solltest in Deinen für cron bestimmten Skripten grundsätzlich nur ABSOLUTE PFADE für Verzeichnisse und Dateien benutzen, also z.B.

    Code:
    if [ -d "$WORKDIR/archive" ]; then 
    etc. pp.
     
  6. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    oder vorher ein
    Code:
    cd $WORKDIR
    
    allerdings sind absolute Pfade zubevorzugen, wie Aqualung schon schrieb.
    Nein, das ist ein logischer Fehler in deinem Script.
     
  7. -eraz-

    -eraz- Tripel-As

    Dabei seit:
    27.03.2008
    Beiträge:
    151
    Zustimmungen:
    0
    So war ne schwere Geburt... jetzt läufts, lag wirklich daran dass nur absolute Pfade angegeben werden müssen. Dankeschön!

    Allerdings erklärt das noch nicht ganz, warum dann kein Fehler von meinem Skript geloggt wurde... denn wenn er das Ding nicht findet, schreibt dass das Skript eigentlich raus. ?(
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 NoXqs, 18.07.2008
    Zuletzt bearbeitet: 18.07.2008
    NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    Code:
     else
              echo "$DATUM
                    ACHTUNG!!! Archiv Ordner nicht gefunden, Skriptverarbeitung abgebrochen" >> error.log
              exit 0
    
    Und wo hast du nach dieser error.log gesucht??

    Außerdem macht es in meinen Augen keinen Sinn hier mit "exit 0" auszusteigen.
    Das ist doch ein Fehler, warum dann "exit 0".
    Wird dieser Rückgabewert überhaupt irgendwo noch benutzt?
    Bei "exit 0" wäre es nämlich eine korrekte Programmbeendigung, was ja eigentlich stimmt, aber irgendwie doch wieder nicht.
    Nur mal zum Nachdenken.
     
  10. #8 -eraz-, 18.07.2008
    Zuletzt bearbeitet: 18.07.2008
    -eraz-

    -eraz- Tripel-As

    Dabei seit:
    27.03.2008
    Beiträge:
    151
    Zustimmungen:
    0
    Stimmt! :D

    nein der Rückgabewert wird eh nicht verwendet... Mein damaliger Kursleiter hat halt gemeint das sollte man so machen, über die Sinnhaftigkeit habe ich mir auch schon ein paarmal Gedanken gemacht,... aber naja... Hauptsache es geht und wieder was dazugelernt, danke Euch! :)
     
Thema:

[RedHat] Seltsames Verhalten bei Cronjob... Hilfe!!

Die Seite wird geladen...

[RedHat] Seltsames Verhalten bei Cronjob... Hilfe!! - Ähnliche Themen

  1. [RedHat] Neue Kernel-Pakete verfuegbar - RHSA-2003:025-20 [RedHat] Neue Kernel-Paket

    [RedHat] Neue Kernel-Pakete verfuegbar - RHSA-2003:025-20 [RedHat] Neue Kernel-Paket: ---------- -----BEGIN PGP SIGNED MESSAGE----- Liebe Kolleginnen und Kollegen, soeben erreichte uns nachfolgendes RedHat Security Advisory...
  2. Imagemagicks Mogrify macht Seltsames ....

    Imagemagicks Mogrify macht Seltsames ....: Immer, wenn ich eine Reihe JPGs qualitativ heruntersetzen will, funktioniert es prima per ---------- mogrify -quality 20 *.JPG ----------...
  3. Seltsames Verhalten des Paketmanagements

    Seltsames Verhalten des Paketmanagements: Hallo zusammen, ich bin erst seit ein paar Wochen bei Centos, ich benutze es zum Programmieren. Ich habe nach Anleitungen aus dem Web, Centos...
  4. Seltsames ACPI/Akkuproblem

    Seltsames ACPI/Akkuproblem: Hallo Leute, habe ein komisches Problem auf meinem Acer TimelineX 4820TG: (Das installierte System ist übrigens ZevenOS Neptune 2.0, also ein...
  5. Datei-Besitzer / Zugriffsrechte am Client ändern Seltsames Verhalten von Samba

    Datei-Besitzer / Zugriffsrechte am Client ändern Seltsames Verhalten von Samba: Hallo Linux-Gemeinde, seit einigen Wochen beschäftige ich mich intensiv mit Ubuntu, bislang recht zufriedenstellend, habe viel gesucht und gelesen...