Linux Cronjob

~ 0 min
2025-06-09 11:08
  • sudo systemctl status cron.service  - läuft Cron Service?
  • crontab -e  - Crontab des angemeldeten Users (whoami)
  • /etc/crontab bzw. /etc/cron.d/ - System-Crontab
  • Syntax: Minute (0-59) Stunde (0-23) Tag (1-31) Monat (1-12) Wochentag (1-7) Befehl
  • Job täglich 10 Uhr: "0 10 * * * Befehl"
  • Job täglich 8 + 16 Uhr (Komma): "0 8,16 * * * Befehl"
  • Job alle 10 Minuten (*/): "*/10 * * * * Befehl"
  • Job nach Reboot: "@reboot /usr/bin/test-script.sh"  (startet nach Systemstart, auch ohne Useranmeldung)
    Cron-Jobs werden per Default per Mail an den ausführenden User gemeldet.
  • Cronjob nicht protokollieren: "0 10 * * * Befehl > /dev/null"
  • Cronjob in Logfile protokollieren: "0 10 * * * Befehl >> /var/log/backup.log"
  • Normale Ausgabe und Fehler sollen protokolliert werden (2>&1): "0 10 * * * Befehl >> /var/log/backup.log 2>&1"
  • Sonderregel: Verzeichnisse für Intervalle ohne Angabe für Zeit (abweichender Syntax)
    /etc/cron.daily/
    /etc/cron.hourly/
    /etc/cron.monthly/
    /etc/cron.weekly/

Beispiele:

  • Datum-Zeile im LOG:
    0 22 * * * echo ---------- Date: $(date +"\%Y\%m\%d - \%H:\%M") ---- >> /var/log/autoupdates.log 2>>&1
  • Monatlich LOG löschen + Datum-Zeile:
    0 22 1 * * echo ---------- Date: $(date +"\%Y\%m\%d - \%H:\%M") ---- > /var/log/autoupdates.log 2>&1

  • täglich REBOOT (crontab -e als root!):
    0 4 * * * /sbin/shutdown -r +3


  • wöchentlich UPDATE + LOG:
    5 22 * * 3 /usr/bin/apt update -q -y >> /var/log/autoupdates.log 2>&1

    10 22 * * 3 /usr/bin/apt upgrade -q -y >> /var/log/autoupdates.log 2>&1
Durchschnittliche Bewertung 0 (0 Abstimmungen)

Es ist möglich, diese FAQ zu kommentieren.