"no crontab for root" ?

  • Hallo zusammen

    Der Installer (.deb Datei) hat in der postinst-Datei u.A. folgende Anweisungen, welche dann bei der Installation den Text "no crontab for root" ausgeben:




    Das gibt dann in der Konsole folgendes aus:


    Quote

    Configure crontab...

    no crontab for root


    Wo liegt das Problem, falls es überhaupt eines ist? (Harmlose Warnung??)

    Weiss evtl. jemand weiteres zum Thema?

    Besten Dank.

    Mit freundlichem Gruss,
    Jan

  • Du kannst initial mittels "crontab -e" das cron-file manipulieren. Die von dir gezeigte Meldung deutet darauf hin, dass für root noch kein cron job aktiv ist. Funktionieren wird das also nicht.

    “Don’t comment bad code - rewrite it.”

  • Hallo

    Danke fürs Feedback. ABER: Was wird nicht funktionieren?


    Aktuell steht das hier im Installer:


    echo "Configure crontab...";

    echo PATH=$PATH > tmp.cron;

    echo "59 2 * * 6 /sbin/reboot >/dev/null 2>&1" >> tmp.cron;


    # J.M., 2019-04-11 {

    echo "30 7 * * * service habridge restart >/dev/null 2>&1" >> tmp.cron;

    # } J.M., 2019-04-11


    # J.M., 2019-04-18 {

    echo "0 3 * * * bash /opt/xyz/database/mysql_dumper.sh >/dev/null 2>&1" >> tmp.cron;

    # } J.M., 2019-04-18


    # J.M., 2019-05-21 {

    #echo >> tmp.cron;

    crontab -l >> tmp.cron >/dev/null 2>&1;

    #crontab tmp.cron;

    less tmp.cron | crontab -u root tmp.cron;

    # } J.M., 2019-05-21


    ...und wenn ich danach (also nach der Installation!) den Befehl "crontab -e" aufrufe, dann sind dort die 3 cronjobs drin!?

    Mit freundlichem Gruss,
    Jan

  • Ausserdem erscheint die Meldung exakt nur 1x bei "crontab -l"... wenn man "crontab -l" später noch mal eingibt, dann kommt die Meldung nicht mehr.

    Von mir aus gesehen heisst das schlicht, dass keine Einträge im crontab-File sind. Später, nachdem welche drin sind, kommt die Meldung ja nicht mehr...?

    Mit freundlichem Gruss,
    Jan

  • Die Fehlermeldung ist m.E. harmlos: Das obige Skript schreibt ein paar Einträge in eine temporäre Datei, fügt per "crontab -l" die bestehenden Einträge der root-crontab hinzu und installiert die Datei dann als neue crontab.


    Wenn root noch keine crontab hat, gibt "crontab" -l eben auf STDERR die Fehlermeldung und auf STDOUT nichts aus. Der Effekt ist der gewünschte, anschließend stehen die neuen Befehle in der dann auf jeden Fall existierenden crontab.


    Du kannst das überprüfen, indem Du das Skript nochmal ausführst: Danach sollten die Befehle doppelt drinstehen. Nicht vergessen, die doppelten Einträge anschließend wieder zu löschen!

  • Vielen Dank euch beiden!

    Nun konnte ich es selbst verifizieren, das am Freitag für einen Kunden parat gemachte System, welches gestern installiert wurde, benachrichtigt mich mit den Backups-Mails. (-> "echo "0 3 * * * bash /opt/xyz/database/mysql_dumper.sh >/dev/null 2>&1" >> tmp.cron;")

    :)

    Mit freundlichem Gruss,
    Jan