crontab

crontab beheert geplande taken die automatisch op vaste tijden worden uitgevoerd.

Basisgebruik

crontab -e    # bewerken
crontab -l    # tonen
crontab -r    # verwijderen

Tijdnotatie

┌─────── minuut       (0–59)
│ ┌───── uur          (0–23)
│ │ ┌─── dag v/d maand (1–31)
│ │ │ ┌─ maand        (1–12)
│ │ │ │ ┌ dag v/d week (0–7, 0 en 7 = zondag)
│ │ │ │ │
* * * * *  commando
TekenBetekenis
*Elk tijdstip
*/nElke n eenheden
n,mOp tijdstip n en m
n-mVan n tot en met m

Voorbeelden

Elke dag om 03:00 een back-up:

0 3 * * * /usr/local/bin/backup.sh

Elke 15 minuten:

*/15 * * * * /usr/local/bin/check.sh

Elke maandag om 08:30:

30 8 * * 1 /usr/local/bin/weekrapport.sh

Op de 1e van elke maand om middernacht:

0 0 1 * * /usr/local/bin/maandrapport.sh

Uitvoer naar logbestand sturen:

0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Speciale aliassen

AliasBetekenis
@rebootBij elke herstart
@dailyEenmaal per dag (00:00)
@weeklyEenmaal per week
@monthlyEenmaal per maand

Tip

Stuur uitvoer altijd naar een logbestand met >> /pad/naar/log 2>&1 — anders zie je nooit of een taak mislukt is.

automatiseringplanning