Crontab erklärt

User Crontab

auflisten des User Crontabs

**crontab -l**

min hour day month weekday   command
*   10   *   *     *        /etc/cron.d/backup

Ändern des User Crontabs

**crontab -e**

min hour day month weekday   command
*   10   *   *     *        /etc/cron.d/backup

Ändern des User Crontabs als root für einen anderen User

**crontab -u benutzer -e**

min hour day month weekday   command
*   10   *   *     *        /etc/cron.d/backup

Systemweiter Crontab

**nano /etc/crontab**

min hour day month weekday   user    command

17   *    *   *      *       root    cd / && run-parts --report /etc/cron.hourly
25   6    *   *      *       root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47   6    *   *      7       root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52   6    1   *      *       root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Hier ist die Notation etwas anders als in den User Crontabs.

 30 23 * * *    benutzer     cd ~scripts/ && ./script.sh

Der Crontab wird um 23:30 Uhr gestartet von Benutzer. Konkret wird in das Benutzerverzeichnis und dann nach scripts gewechselt. Dort wird dann script.sh ausgeführt.

Beispiele

Wenn man z.B ein Backup jeden Tag un 23.30 Uhr laufen lassen will sieht der Crontab so aus:

min hour day month weekday   command
30   23   *   *      *       /home/backup/tar-backup

30 steht für eine halbe Stunde 23 steht für 23 Uhr - also zusammengenommen 23h + 30 min ( * ) bei day, month, weekday steht für jeden Tag, Monat, Wochentag Wenn man eine Job um 2 Uhr und um 15 Uhr ausführen möchte:

min hour  day month weekday   command
*    2,15  *   *      *       /home/backup/tar-backup

Wenn man den Task von oben aber nur Werktags ausgeführt haben will.

min hour  day   month weekday   command
*    2,15  1-5    *      *       /home/backup/tar-backup

Wenn man den Task von oben aber nur Samsatgs ausgeführt haben will. Hier ist zu beachten das 0 oder 7 = Sonntag ist, 1 = Montag usw. Es besteht ausserdem die Möglichkeit das ganze im Format sun,mon,tue,wed,thu,fri,sat anzugeben.

min hour  day   month weekday   command
*    2,15  *    *      6       /home/backup/tar-backup

Wenn man einen Task jede Minute ausgeführt haben will

min hour  day   month weekday   command
*/1    *  *    *      *       /home/script/script.sh