Crontab szintaxis és ütemezett feladatok Linuxon

A cron job egy olyan ütemezett feladat, amelyet a Linux rendszer automatikusan, meghatározott időközönként futtat le – például egy biztonsági mentés elkészítéséhez vagy egy karbantartó szkript lefuttatásához.

A crontab szerkesztése

A saját felhasználónkhoz tartozó ütemezett feladatok listáját a következő paranccsal szerkeszthetjük:

crontab -e

A már beállított feladatok megtekintéséhez:

crontab -l

A crontab szintaxisa

Minden sor öt időmezőből és a futtatandó parancsból áll:

* * * * * parancs
│ │ │ │ │
│ │ │ │ └── hét napja (0-6, ahol a 0 a vasárnap)
│ │ │ └──── hónap (1-12)
│ │ └────── hónap napja (1-31)
│ └──────── óra (0-23)
└────────── perc (0-59)

A csillag (*) azt jelenti, hogy az adott mező minden értékére fusson a feladat.

Gyakorlati példák

  • 0 3 * * * – minden nap hajnali 3 órakor
  • */15 * * * * – 15 percenként
  • 0 0 1 * * – minden hónap első napján, éjfélkor
  • 0 9 * * 1 – minden hétfőn 9 órakor

Egy teljes bejegyzés például így néz ki:

0 3 * * * /usr/bin/php /home/felhasznalo/mentes.php

Ez minden nap hajnali 3-kor lefuttatja a megadott PHP szkriptet.

Hasznos tippek

  • A parancsokban mindig a teljes elérési utat adjuk meg, mivel a cron környezet nem feltétlenül ismeri ugyanazokat a beállításokat, mint egy interaktív terminál.
  • A feladat kimenetét érdemes fájlba irányítani (>> /home/felhasznalo/log.txt 2>&1), hogy hiba esetén visszakereshető legyen, mi történt.
  • WordPress oldalak esetén érdemes a beépített WP-Cron helyett valódi rendszerszintű cron jobot használni – erről bővebben a Hogyan cseréljük le a WordPress beépített cron-ját a cPanel ütemezett feladataival? cikkünkben olvashat.