Script per cron funktioniert nicht

  • Hallo


    Habe hier ein kurioses Problem mit einem Script, was ich per cron regelmäßig ausführen lasse.


    In diesem Script prüfe ich unter anderem, wieviel Benutzer am System angemeldet sind:


    Code
    who --count | grep "^# Benutzer=" | cut --delimiter== --fields=2


    Führe ich diesen Befehl manuell aus, funktioniert er tadellos. Ein Aufruf per cron klappt aber leider nicht.


    Der Fehler scheint irgendwie bei grep zu liegen. Ein cronjob ala

    Code
    who --count &> /root/testlog

    funktioniert,

    Code
    who --count | grep "^# Benutzer=" &> /root/testlog

    jedoch nicht. Die Logdatei wird lediglich leer angelegt, der cron läuft also.


    Woran kann das liegen? Auch /bin/grep funktioniert nicht.

    vdr-2.2.0 + Kernel DVB + dvb-ttpci-01.fw-fb2624 -- Debian 8.2 / linux-3.16.0 - Celeron 2,0 GHz - 1024 MB DDR Ram - 500 GB Western Digital HDD - NEC ND-1300A - 1x DVB-S Rev. 1.6 (4 MB Mod) - 2x TT Budget S-1500 - TBE Extension Board - TechniSat TechniRouter 9/1x8 K (Unicable)
    # nvram-wakeup-1.1 # vdradmind-am-3.6.10 # vdr-fritzbox-1.5.3 # vdr-iptv-2.2.1 # vdr-2.2.0-hide-first-recording-level-v5


    Debian | How To Ask Questions The Smart Way

  • wirklich gaaaanz gaanz banal (hatte ich einmal und dann nie wieder): script ist ausführbar gemacht (chmod a+x oder chmod 755) ?


    infinite

    kuifje
    asus m2n-vm | Athlon 5600 | Nvidia 9300GE | TT S2-3200
    yaVDR 0.4 | 1.7.21
    haddock
    asus p4pe | 2ghz | 3x DVB-S Budget | 2x500gb
    debian lenny 2.6.29.3 | e-tobi 1.7.0 | streamdev cvs | live


    <30.12.07 <igel>sid fuer den gewissen kick>
    <01.04.08 <igel>ich kann eh nix ausser debian pakete installiern>
    <15.12.09 igel hasst linux>
    <23.02.10 <igel> easyvdr is nur easy wenn es easy is>

  • Hier mal das komplette Script:


    vdr-2.2.0 + Kernel DVB + dvb-ttpci-01.fw-fb2624 -- Debian 8.2 / linux-3.16.0 - Celeron 2,0 GHz - 1024 MB DDR Ram - 500 GB Western Digital HDD - NEC ND-1300A - 1x DVB-S Rev. 1.6 (4 MB Mod) - 2x TT Budget S-1500 - TBE Extension Board - TechniSat TechniRouter 9/1x8 K (Unicable)
    # nvram-wakeup-1.1 # vdradmind-am-3.6.10 # vdr-fritzbox-1.5.3 # vdr-iptv-2.2.1 # vdr-2.2.0-hide-first-recording-level-v5


    Debian | How To Ask Questions The Smart Way

    Einmal editiert, zuletzt von seba ()

  • Hallo infinite,


    habe ja zu Testzwecken komplett auf ein Script verzichtet. Den code Schnipsel habe ich direkt in die crontab eingetragen, nachdem das Script nicht lief.

    vdr-2.2.0 + Kernel DVB + dvb-ttpci-01.fw-fb2624 -- Debian 8.2 / linux-3.16.0 - Celeron 2,0 GHz - 1024 MB DDR Ram - 500 GB Western Digital HDD - NEC ND-1300A - 1x DVB-S Rev. 1.6 (4 MB Mod) - 2x TT Budget S-1500 - TBE Extension Board - TechniSat TechniRouter 9/1x8 K (Unicable)
    # nvram-wakeup-1.1 # vdradmind-am-3.6.10 # vdr-fritzbox-1.5.3 # vdr-iptv-2.2.1 # vdr-2.2.0-hide-first-recording-level-v5


    Debian | How To Ask Questions The Smart Way

  • Ich schätze mal, cron mag das '#' hier nicht:

    Code
    who --count | grep "^# Benutzer=" &> /root/testlog


    Weil damit halt ein Kommentar eingeleitet wird.


    --
    Chris

    Software OS: Debian Lenny, Kernel: 2.6.24, VDR: 1.7.0 +ext60 +h.264
    Hardware CPU: Sempron64 1.8GHz (C&Q), MB: Foxconn 760GXK8MC, RAM: 512MB, HDD: ST 160GB, DVB: TT C2300 / KNC1v1, DVD: Pioneer DVR-106D, LCD: 4x20 (blau), IR: LIRC

  • Schau mal in das root-Postfach (bzw. entsprechender User, unter dem der cron läuft) auf dem Rechner, eventuelle Fehlermeldungen von cron-Jobs verschwinden gerne mal darin. Oder lenk mit 2> auch die Fehlermeldungen in eine Logdatei.


    Aus dem Bauch heraus tippe ich auf "Benutzer" - läuft der cron-Job ebenfalls in deutscher Sprachfassung, oder in Englisch?


    Gruß,


    Udo

  • Danke für die Vorschläge.


    Hab alles ausprobiert, leider ohne Erfolg.


    Im Postfach von root liegt nichts. Auch mit grep "utzer" funktioniert es nicht. Die Umlenkung von Standard- und Fehlerausgabe müsste mit &> doch erfolgen, oder!? Hab aber noch mal alle Möglichkeiten ausprobiert, die Logdatei wird zwar angelegt, aber bleibt leer.

    vdr-2.2.0 + Kernel DVB + dvb-ttpci-01.fw-fb2624 -- Debian 8.2 / linux-3.16.0 - Celeron 2,0 GHz - 1024 MB DDR Ram - 500 GB Western Digital HDD - NEC ND-1300A - 1x DVB-S Rev. 1.6 (4 MB Mod) - 2x TT Budget S-1500 - TBE Extension Board - TechniSat TechniRouter 9/1x8 K (Unicable)
    # nvram-wakeup-1.1 # vdradmind-am-3.6.10 # vdr-fritzbox-1.5.3 # vdr-iptv-2.2.1 # vdr-2.2.0-hide-first-recording-level-v5


    Debian | How To Ask Questions The Smart Way

  • mit

    Code
    who --count | grep "^# users=" >& /root/testlog

    sollte es als cronjob funktionieren...

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

  • Ich Idiot, danke Urig und geeg07, das war es natürlich gewesen. Das hab ich in keiner Weise beachtet.


    Danke

    vdr-2.2.0 + Kernel DVB + dvb-ttpci-01.fw-fb2624 -- Debian 8.2 / linux-3.16.0 - Celeron 2,0 GHz - 1024 MB DDR Ram - 500 GB Western Digital HDD - NEC ND-1300A - 1x DVB-S Rev. 1.6 (4 MB Mod) - 2x TT Budget S-1500 - TBE Extension Board - TechniSat TechniRouter 9/1x8 K (Unicable)
    # nvram-wakeup-1.1 # vdradmind-am-3.6.10 # vdr-fritzbox-1.5.3 # vdr-iptv-2.2.1 # vdr-2.2.0-hide-first-recording-level-v5


    Debian | How To Ask Questions The Smart Way

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!