cron Zeitsteuerung

  • Habe ein wenig mit cron herumexperimentiert Dvd laufwerk lässt sich zeitgesteuert mit einem Befehl mittels cron öffenen


    aber der Befehl den ich eigentlich per cron ausführen will funktioniert nicht hab es auch schon mit scripen versucht
    liegt es an den zusatz - /video0 oder was ist zu beachten?


    allnewnoad - /video0

    Suse 9.0 mit kde vdr 1.26 1*nexus 3* nova baugleich 1*segatet 160g 1* samsung 160g 2*Festplattenschallschutzgehäuse

  • Ich wollte mit Hilfe von Noad die Werbung aller meiner ungeschnittenen Aufzeichnungen markieren lasse

    Noad starte ich mit folgenden selbstgeschriebenen scribt

    _______________
    runnoad
    #!/bin/sh
    allnewnoad - /video0
    _______________

    Funktioniert auch einwandfrei

    Nun möchte ich das Skript in den frühen morgenstunden laufen lassen wenn der rechner sonst nichts zu tun hat

    Habe dazu testweise einen 2 cronjobs erstellt

    einen der alle minute das (runnoad) startet
    und eine der alle minute das Laufwerk öffnet

    Das Laufwerk geht alle minute auf aber bei Noad tut sich nichts. Beobachten kann ich den Noad-status mit den top-Befehl

    wenn ich (runnoad) manuell starte steht "Noad" in der top- liste
    bei der zeitsteuerung hingegen tut sich nichts


    Mar 14 11:59:00 linux /USR/SBIN/CRON[3198]: (root) CMD (eject /media/dvdrecorder)
    Mar 14 11:59:00 linux /USR/SBIN/CRON[3200]: (root) CMD (/usr/local/bin/runnoad)


    Ich benutze das cron von Suse 9

    liegt der Fehler bei dem cron von Suse oder sind mit dem Noadstart irgendwelche Besonderheiten zu Beachten

    Suse 9.0 mit kde vdr 1.26 1*nexus 3* nova baugleich 1*segatet 160g 1* samsung 160g 2*Festplattenschallschutzgehäuse

  • Benötigt noad Umgebungsvariablen? Z.B. den Pfad?

    Man kann mit
    set
    env
    Im Script die Umgebungsvariablen ausgeben lassen. Der gesamte output sollte als mail
    (z.B. an root) erscheinen.

    Im Allgemeinen ist im cron und auch bei at die Umgebung nur minimal gesetzt.

    Läuft dein Script wenn Du es mit
    echo "DeinScriptAufruf" | at now
    startest?

  • Hallo,

    also bei mir funktioniert der Zeitgesteuerte Aufruf von hoerzu2vdr über cron bei SuSE 9 pro erst, seit ich

    • cron deinstalliert habe
    • /var/spool/cron/tabs/ geleert habe (steht jetzt nix mehr drin)
    • Die /etc/crontab in den Originalzustand versetzt habe
    • cron neu installiert habe (über apt-get)
    • ein Script erstellt habe, welches in das Verzeichnis von hoerzu2vdr wechselt und dann das start.sh Script von hoerzu2vdr aufruft
    • diese Script in /etc/cron.daily gelinkt habe (ln -s)
    • und letzendlich in start.sh den kompletten Pfad für binaries gesetz habe (env | grep PATH) sowie alle Umgebungsvariablen für Java (env | grep JAVA) ebenfalls in start.sh eingetragen habe.

    Alles, was ich vorher mit crontab -e eingetragen hatte, hat nicht funktioniert. Ich muss dazu noch anmerken, dass vorher in /var/spool/tabs/ eine Kopie von /etc/crontab drinstand, die ich dann immer erweitert habe mit entsprechenden Einträgen. Das kann aber m.M. nicht funktionieren, da das Format der /etc/crontab um den Benutzernamen erweitert ist, unter dem ein cronjob ausgeführt wird (also z.B. 59 * * * * root beispiel.sh). Da hat cron dann immer gemeckert "command not found: root"

    Evtl. für NOAD ähnlich vorgehen...

    Vielleicht hilft die Info ja dem einen oder anderen weiter...

    Gruß,
    Marcus

    73 es 55 de dc5dm

    • TT DVB-S 1.3 & SkyStar 2, Ext Board v1.3, Intel DH77KC, Intel Celeron G555, 3x Hitachi HDS5C1010CLA382 (Raid5)
    • Debian "Jessie", e-Tobi VDR 2.2.0
    • listed VDR User No. 757
  • Hi,

    verstehe nicht, warum ihr euch das Leben so schwer macht ...

    Auch unter Suse muss man nicht unbedingt den alles "Suse-Like" machen.
    Einfach eben mit crontab -e (Editor muss definiert sein) oder eben /etc/crontab editieren bzw. (unter Suse) ein yast hernehmen.
    Ein man crontab hilft da durchaus ...
    Bei mir holt z.B. jeden Tag um 23 Uhr auch hoerzu2vdr die Daten mittels des Scriptes holeepg.sh
    -->

    Code
    0 23  * * *     root  /usr/local/bin/holeepg.sh 2> /usr/local/src/hoerzu2vdr/error.log

    Wichtig ist eben, dass alle Pfade vollstaendig angegeben werden und die Scripte etc natuerlich ausfuehrbar sind.
    Bin mir sicher, dass im hiesigen Fall schlicht und ergreifend noad nicht gefunden wird, wobei cron defaultmaessig einem ja eh emails schickt, in denen man sehen kann, was falsch laeuft ...
    Gruss
    Burkhardt

  • Hallo burki,

    ja, so hatte ich auch mal gedacht: einfach per crontab -e eine Zeile hinzu und geht...

    ...denkste! Wohl nicht bei SuSE.

    Zuallererst gings nicht und ich wusste nicht, warum. Hatte keinen mailer installiert, also bakam ich auch keine mail.

    -> postfix draufgeschmissen

    Danach gabs immer schöne mails mit den Fehlermeldungen, das ein command net gefunden wurde (root). Hab mir dann schon gedacht, das gehört ja auch normalerweise (lt. man crontab) nicht da rein. Also den usernamen aus der crontab rausgeschmissen. Ohne Erfolg. Manpages gelesen, gegoogelt, gefunden, dass das auch mit scripten in cron.daile etc geht. Hatte aber immer noch Fehlermeldungen per Mail.
    Dann habe ich den cron eben deinstalliert und per apt-get den neuesten installiert und bekam dann in der Mail, die bei der installation erzeugt wird, den hinweis auf die falschen bzw. doppelten Einträge in der /var/spool/cron/tabs/irgendwastemporäres.datei

    Das Problem bei mir, woher auch immer das kam, war, dass ich eine exakte Kopie der /etc/crontab als crontab des users root stehen hatte (hab ich ja vielleicht selbst gemacht?). Seitdem ich es so mache, wie oben beschrieben, geht es.
    Bin mir sicher, es geht jetzt auch, wenn ich es direkt per crontab -e eintrage. Hab das nur nicht mehr getestet.

    Bin mir allerdings auch sicher, das speziell für den hoerzu2vdr Aufruf die Pfade ind die start.sh reinmüssen, das es sonst nicht geht. Es kommen dann etliche Java-Fehlermeldungen, weil die Java RT ihr zeugs nicht findet.

    Gruß,
    Marcus

    73 es 55 de dc5dm

    • TT DVB-S 1.3 & SkyStar 2, Ext Board v1.3, Intel DH77KC, Intel Celeron G555, 3x Hitachi HDS5C1010CLA382 (Raid5)
    • Debian "Jessie", e-Tobi VDR 2.2.0
    • listed VDR User No. 757
  • Hi,

    Quote

    ja, so hatte ich auch mal gedacht: einfach per crontab -e eine Zeile hinzu und geht...


    muss gestehen, dass ich eh eigentlich immer (auch unter solaris etc. ) direkt editiere ...
    Suse mag da wohl eben primaer ihr yast (damit geht das auf jeden Fall) genutzt haben.

    Quote

    Bin mir allerdings auch sicher, das speziell für den hoerzu2vdr Aufruf die Pfade ind die start.sh reinmüssen, das es sonst nicht geht. Es kommen dann etliche Java-Fehlermeldungen, weil die Java RT ihr zeugs nicht findet.


    das hat mit dem cron ja nichts zu tun.
    Classpaths sind eben (dazu kann man auch das holeepg.sh missbrauchen) nicht gesetzt --> man java ...
    Gruss
    Burkhardt

  • Quote

    Original von burki
    Hi,
    [QUOTE]
    das hat mit dem cron ja nichts zu tun.

    Richtig. Aber da ich ja an der crontab rumgefummelt habe und der manuelle Start von der Kommandozeile einwandfrei funktioniert, hab ich mir gesagt: "Junge. Dadran hast du rumgefingert, da ist jetzt auch der Hund begraben." Und da in der Manpage zu cron und konsorten nix drinsteht von den Anpassungen bei der SuSE, kommt man da leider nicht gleich drauf. Aber was solls. Fehler gefunden. Und hoffentlich hilft mein Sermon hier dann dem ein oder anderen...

    Manchmal sieht man eben den Wald vor lauter Bäumen nicht.

    Gruß,
    Marcus

    73 es 55 de dc5dm

    • TT DVB-S 1.3 & SkyStar 2, Ext Board v1.3, Intel DH77KC, Intel Celeron G555, 3x Hitachi HDS5C1010CLA382 (Raid5)
    • Debian "Jessie", e-Tobi VDR 2.2.0
    • listed VDR User No. 757
  • Hi,

    bei solchen Problemen in der Bedienung empfiehlt sich der Einsatz von webmin. Damit kann man prima nahezu jede Unix Kiste administrieren auch ohne das man die Syntax der einzelenen Befehle kennt. Erhältlich unter https://www.vdr-portal.de/www.webmin.com taugt auch für postfix/sendmail/qmail/spamassassin/NFS/Samba usw Wartung...

    bye

    Sven

    meine VDRs


    VDR1 Server headless: Intel G530, 3GB RAM, SSD, 2TB HDD RAID-1, S2-6400, Cine S2 ### Debian Wheezy, VDR-2.2.0
    VDR2 Client: Pi3 System: Raspberian, VDR-2.2.0 via USB DVB2 device
    VDR3 Client: Pi2 System: Raspberian, VDR-2.2.0 Streamdev
    VDR4 Client: PI System: Raspberian, VDR-2.2.0 Streamdev
    VDR5 Client: Pi2 System: Raspberian, VDR-2.2.0 Streamdev

    Plugins: rpihddevice, skinflatplus, femon, epgsearch, streamdev, live, fritzbox, remotetimers, epgd, epg2vdr, suspendoutput


    Link: Richtig fragen

  • Huhu,

    dert Cronjob wird bei mir schön ausgelöst; aber was habt ihr denn alles in euer Script zum hoerzu2vdr-start reingschrieben? Kann das mal einer von euch posten?
    Vielen Dank!

    El Duderino

    Equipment: FS Activy 300, DVB-C, PVR 350, Samsung 160GB 5400rpm

    Distribution: gen2vdr

    Maintainer "Plugin-Setup" http://www.andreas-fey.com

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!