script wird als cronjob anders ausgeführt

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von arduino.cc, 14.07.2010.

  1. #1 arduino.cc, 14.07.2010
    arduino.cc

    arduino.cc Grünschnabel

    Dabei seit:
    14.07.2010
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo Leute

    Ich bin neu hier und Scriptanfänger, habe aber von Programmieren (vorw. JAVA) berufliche Erfahrung.

    Nun zum Problem; ich hab einen Mailserver am laufen un d möchte dort aber die mailqueue von "MAILER-DAEMON" - Meldungen säubern - was manuell eigentlich gut klappt.

    Um das ganze zu automatisieren habe ich ein script geschrieben und führe es als cronjob aus, auch das funktioniert.

    Das einzige was nicht funktioniert, ist das auslesen der mailqueue-länge und zwar nur wenn ich das script als cronjob laufen lasse??


    Hier mal fakten

    Mein Script:

    echo "Start Script at $(date)."

    ACTUAL_Q_LENGTH=$(postqueue -p | grep "MAILER-DAEMON" | wc -l)
    MAXIMAL_Q_LENGTH=3500

    echo "aktuell=" $ACTUAL_Q_LENGTH "=" $MAXIMAL_Q_LENGTH

    if [ $ACTUAL_Q_LENGTH -gt $MAXIMAL_Q_LENGTH ];
    then echo $(mailq | cleanq | grep "MAILER-DAEMON" | awk '{ print $1 }' | postsuper -d -)
    fi

    echo "Done Script at $(date)."



    Aus bash gestartet:

    root@myServer:/home/SYSTEM/fja# /home/SYSTEM/fja/remove_all_mailerdaemon.sh

    ergibt folgendes Echo:

    Start Script at Wed Jul 14 07:13:08 CEST 2010.
    aktuell= 1769 und maximal waere 3500
    Done Script at Wed Jul 14 07:13:09 CEST 2010.


    Eintrag im crontab:

    */5 * * * * /home/SYSTEM/fja/remove_all_mailerdaemon.sh >> /home/SYSTEM/fja/mailerdaemon.log

    wird aufgerufen und ergibt folgenden Eintrag im Logfile:


    Start Script at Wed Jul 14 07:10:01 CEST 2010.
    aktuell= 0 und maximal waere 3500
    Done Script at Wed Jul 14 07:10:01 CEST 2010.

    obwohl die mailqueue zur laufzeit ganz sicher nicht 0 ist.


    Irgendwie wird der befehl $(postqueue -p | grep "MAILER-DAEMON" | wc -l)
    wessen Rückgabe (also die anzahl Mails in der Queue mit dem gesuchten Begriff drinn) gleich 0 ist nicht richtig oder gar nicht ausgeführt.

    ich seh es nicht...

    Bin dankbar um jeden Hinweis ;-)
     
  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. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    afaik kennt die crontab per default keine Pfade? Probiers mal mit absoluten Pfadangaben zu den Programmen (which postqueue z.Bsp. liefert den zu postqueue)
     
  4. #3 arduino.cc, 14.07.2010
    Zuletzt bearbeitet: 14.07.2010
    arduino.cc

    arduino.cc Grünschnabel

    Dabei seit:
    14.07.2010
    Beiträge:
    2
    Zustimmungen:
    0
    super! Danke daboss, dass war es!

    und zwar an beiden Stellen:


    ACTUAL_Q_LENGTH=$(postqueue -p | grep "MAILER-DAEMON" | wc -l)

    then echo $(mailq | cleanq | grep "MAILER-DAEMON" | awk '{ print $1 }' | postsuper -d -)
     
Thema:

script wird als cronjob anders ausgeführt

Die Seite wird geladen...

script wird als cronjob anders ausgeführt - Ähnliche Themen

  1. Shell Script wird nicht ausgeführt

    Shell Script wird nicht ausgeführt: Hallo, ich bräuchte mal einen kleinen Denkanstoß. Meine Erfahrungen mit cron und Shellscripts sind eher rudimentär. Ein kleiner Einzeiler...
  2. script wird von cronjob nicht korrekt ausgeführt - Centos 5

    script wird von cronjob nicht korrekt ausgeführt - Centos 5: Guten Morgen, und hallo ins Forum. Ich habe ein Problem mit meinem Sicherungsserver: ich möchte zur täglichen inkrimentellen Sicherung...
  3. Webinterface für Gameserver/Shellscript wird nicht ausgeführt

    Webinterface für Gameserver/Shellscript wird nicht ausgeführt: Guten Abend, ich weis die Uhrzeit ist unmenschlich, aber ich sitz jetzt seit 4h dran und komm auf keine Lösung. Problem ist folgendes: Habe...
  4. kann man den namen eines shell-scripts, das gerade ausgeführt wird, ausdrucken?

    kann man den namen eines shell-scripts, das gerade ausgeführt wird, ausdrucken?: hallo!! kann man den namen eines shell-scripts, das gerade ausgeführt wird, ausdrucken? ich suche etwas analoges zu '$0', nur eben für das...
  5. Welches Script wird nach jedem Login eines Users ausgeführt?

    Welches Script wird nach jedem Login eines Users ausgeführt?: Morgen! Hab da mal son Anliegen. Habe mehrere User eingetragen..... eigentlich normale Benutzer...... Denen soll bei meiner Slackware 10.2 der...