crontab wird wieder überschrieben (FW 4.0.1 Build 0604)?

  • Hallo zusammen,


    ich bekomme unter der Firmware 4.0.1 Build 0604 keine persistenten crontab-Einträge mehr hin. Die im Wiki-Artikel http://wiki.qnap.com/wiki/Add_items_to_crontab beschriebene Methode 1 bis hatte früher funktioniert, ich habe auf diese Weise die crontab unter /wtc/config und auch unter /mnt/HDA_ROOT/.config/ editiert, neu eingelesen und dann den crond gestartet.
    hier mal ein Beispiel, in dem ich um 4:45 Uhr den Apache restarten will:


    Code
    [/etc/config] # vi crontab  m h dom m dow cmd0 4 * * * /sbin/hwclock -s0 3 * * * /sbin/vs_refresh0 3 * * * /sbin/clean_reset_pwd0-59/15 * * * * /etc/init.d/nss2_dusg.sh0 2 * * * /etc/zarafa/backup-zarafa-mysql-full.sh30 7 * * * /sbin/clean_upload_file45 2 * * * /etc/init.d/updatedb.sh crontab enable30 4 * * 2 /etc/init.d/reboot4 3 * * 3 /etc/init.d/backup_conf.sh45 4 * * * /bin/sh /etc/init.d/Qthttpd.sh restart        <---------21 * * * * /sbin/qddns_check 2>/dev/null


    Neu einlesen:
    [/etc/config] # crontab /etc/config/crontab
    Anschauen, ob es geladen wurde:

    Code
    [/etc/config] # crontab -l m h dom m dow cmd0 4 * * * /sbin/hwclock -s0 3 * * * /sbin/vs_refresh0 3 * * * /sbin/clean_reset_pwd0-59/15 * * * * /etc/init.d/nss2_dusg.sh0 2 * * * /etc/zarafa/backup-zarafa-mysql-full.sh30 7 * * * /sbin/clean_upload_file45 2 * * * /etc/init.d/updatedb.sh crontab enable30 4 * * 2 /etc/init.d/reboot4 3 * * 3 /etc/init.d/backup_conf.sh45 4 * * * /bin/sh /etc/init.d/Qthttpd.sh restart        <---------21 * * * * /sbin/qddns_check 2>/dev/null


    Dann den crond.sh neu gestartet:
    [/etc/config] # /etc/init.d/crond.sh restart
    und nochmals überprüft, was jetzt geladen wurde:


    Die zuvor eingetragene Zeile fehlt wieder, genau das passiert nach dem Reboot, den ich mit früheren Firmware-Versionen hatte eintragen können (zusammen mit einem Backupscript). Diese Einträge sind persistent, nur neue Einträge werden nicht übernommen. Hat jemand die gleichen Erfahrungen oder steh ich aufm Schlauch? Zusatzinfo: ich habe das Thema "autorun.sh" auf die neue Methode mit dem Psydo-QPKG-Package umgesetzt http://wiki.qnap.com/wiki/Autorun.sh , was einwandfrei funktioniert. Ich hoffe auf eine Lösung ohne dass ich per autorun die crontab modifizieren muss.

  • Ich habe bei mir zwar noch keine Zeile eingefügt, aber das Auskommentieren mit einer Raute bleibt bei mir auch bei QTS 4.0.1 mit der genannten Methode erhalten.

  • SaschaBr:
    bei mir auch, ich habe mal den Eintrag auskommentiert: # 0-59/15 * * * * /etc/init.d/nss2_dusg.sh
    [/etc/config] # crontab -l


    Danach die NAS rebooted und per crontab -l nachgeprüft, Eintrag ist auskommentiert noch vorhanden. Nur einen Neuen frisst er nicht.

  • Ich muss meinen vorherigen Beitrag ein wenig revidieren:
    Mir ist nämlich gerade eingefallen, dass ich ja doch einen zusätzlichen Eintrag in die crontab gemacht habe, welcher auch noch immer da ist. Ob dieser einen Neustart der Box überlebt, habe ich nicht getestet, jedoch überlebt dieser Eintrag das Einlesen und Neustarten der crontab.



    Auch wenn Dir das nicht weiterhilft, wollte ich das nur richtig stellen.


    P.S.:
    Was mir aber in Deinem ersten Posting noch gerade Auffällt: Eventuell ist Dein Eintrag ja auch "nur" Fehlerhaft. Ich kenne mich damit jetzt nicht soooo aus, aber kann es sein, dass er das Leerzeichen in Deinem Eintrag nicht mag, bzw. bist Du sicher, dass das "/bin/sh" da hin gehört?

  • danke für die Antwort, das /bin/sh kann man da schon setzten, spielt aber keine Rolle, der Eintrag ist mit oder ohne das /bin/sh weg. Das erstellen eines Eintrags und neu Einlesen der crontab geht bei mir ja auch, nur nach dem Reboot oder dem Neustart des crond ist der crontab-Eintrag wieder weg. Schaut man sich das start-Script von crond.sh an, schreibt es eine crontab nach /tmp/cron/crontabs mit dem namen "admin", welche die Einträge der tatsächlichen crontab aus /etc/config/ sichern soll. In der "admin" fehlt aber der in der letzten Zeile erstellte neue Eintrag, das war vor dem Update auf FW 4.0.1 nicht so, sonst hätte ich mein zarafa-startscript nicht dauerhaft da drin.

  • Kann ich nicht nachvollziehen. Habe gerade ein Update auf QTS 4.0.2 gemacht, mit anschließendem Neustart des NAS. Die crontab wurde dabei zwar umsortiert, aber es steht noch immer alles drinnen (mein Eintrag wurde nach oben verschoben).

  • war bei mir auch so. Ich habe mittlerweile die Lösung gefunden:


    Wenn ein Energiezeitplan aktiviert ist, scheinen Einträge in der crontab nicht mehr dauerhaft gespeichert zu werden (auskommentieren mit # funktioniert).
    Ich habe den Zeitplan deaktiviert, den Eintrag zum Apache-Restarten in die crontab eingefügt, neu geladen und die NAS rebootet. Der Eintrag ist immer noch da.
    Ich habe dann den Energiezeitplan wieder aktiviert. Er schreibt seinen job in die crontab, ich habe die NAS dann nochmals rebootet und jetzt stehen mein neuer und der Zeitplan-Job drin. Richt für mich nach Bug, ich mach mal ein Support-Ticket auf.

  • Hallo,


    leider funktioniert der "Trick" mit dem Zeitplan deaktivieren bei mir nicht. Neue Einträge werden einfach nicht in der Crontab gespeichert, besser gesagt sie überleben keinen Reboot.


    Folgenden Befehl möchte ich gerne über die Crontab starten: "@reboot /opt/bin/nzbget -D"


    Leider klappt es nicht.. jemand einen Tipp für mich?


    TS-421 - FW 4.0.2


    DANKE!!


    Gruss
    Dennis

  • Mich würde nicht wundern, wenn "diese crontab" (die auf unseren NASen läuft), mit "@reboot" nix anfangen kann, und diesen Eintrag deswegen rausschmeißt. Hast Du mal versucht, einen anderen "normalen" Eintrag zu speichern (ohne @)?

  • Ich bin gerade die MAN-Page von crontab durchgeganen ein @ findet sich nur im Verweis zum Autor.
    Wenn man den Boot-Vorgang beeinflussen will, gibt es seit her init.d, also Start-, Stopskripte.
    Soetwas macht man nicht über crontab.

  • Sorry, ist halt alles Neuland für mich, fand per google die crontab Befehle und da waren dann auch die "@" Befehle. Bin daoj ausgegangen das passt auch bei der qnap so.


    Dann Schau ich mir mal init.d an...


    Danke euch!

  • Hast du nzbget mit einem QPKG oder mit Optware installiert?
    Bei einem QPKG sollte es automatisch bei einem Reboot gestartet werden, da es einen eigenen Eintrag mit in den init.d schreibt.

  • Hallo Eraser-EMC2


    über "ipkg install nzbget" in der Shell. Es läuft auch alles perfect, Pfade usw alles passt, nur der doofe Autostart will nicht.


    will heute Abend mal versuchen in der Crontab das es .z.b um 19 Uhr gestartet wird. also 0 19 * * * /opt/bin/nzbget -D


    Grüsse!
    Dennis

  • Danke für den Link! Schaue ich mir mal in Ruhe an. Scheint ja etwas "komplizierter" zu sein ;)


    Mit dem Crontab Eintrag ist nzbget wenigsten mal gestartet, bei einem reboot ist das natürlich nicht so prickelnd.. aber immerhin mal gestartet :thumb: