Cron on Linuxi operatsioonisüsteemi ülesannete ajastamiseks mõeldud utiliit. See võimaldab teil käivitada skripte või käske automaatselt teatud aegadel, ajavahemike või sündmuste ajal.
Croni kasutamiseks tuleb luua crontab-fail
, mis sisaldab loetelu ülesannetest ja ajavahemikest, millal neid tuleks täita. Iga ülesanne crontabis on string, mis koosneb viiest tühikutega eraldatud väljast:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
*
tähistab suvalist väärtust, näiteks kui väljal minutes on *
, siis käivitatakse ülesanne iga minut. Kui soovite määrata mingile väljale kindla väärtuse, näiteks iga päev kell 3 hommikul, tuleb kirjutada 0 3 * * * * * *
.
Crontab-faili loomiseks või muutmiseks kasutage käsku crontab -e. Igal kasutajal võib olla oma crontab fail, samuti süsteemifail /etc/crontab
, mis sisaldab ülesandeid, mis jooksevad root-kasutajana.
On olemas käsk cronjob
, mis võimaldab käivitada ülesandeid Dockeri konteinerite sees. See töötab sarnaselt crontabiga
, kuid ülesandeid saab käivitada konteineri sees, mitte host-süsteemis.
Croni kasutamise alustamiseks Linuxis järgige järgmisi samme:
1. Avage terminal ja sisestage käsk crontab -e
. See avab praeguse kasutaja crontab-faili.
2. Lisage crontab-faili ülesanne vastavalt eespool kirjeldatud väljalõikele. Näiteks kui soovite skripti every_hour.
sh käivitada iga tund, lisage rida 0 * * * * * * * * /path/to/every_hour.sh
.
3. Salvestage muudatused ja sulgege fail.
4. Kontrollige, et ülesanne on lisatud crontab-i, kasutades käsku crontab -l
. See kuvab nimekirja kõigist crontab'ile
lisatud ülesannetest.
5. Kontrollige, et ülesanne töötab plaanipäraselt, kasutades käsku tail -f /var/log/syslog
. Näete ülesande täitmisega seotud väljundit.
6. Kui soovite ülesande crontabist
eemaldada, kasutage käsku crontab -r
.
Tuleb silmas pidada mõningaid olulisi punkte:
crontab'ile
saab lisada nii skripte kui ka käske. Kui aga soovite skripti käivitada, veenduge, et sellel on käskirja execute õigused(chmod +x /path/to/script.sh
).sudo crontab -e
, et avada crontab-faili
root-kasutajale.Pange tähele, et crontabis
määratud kellaaeg vastab Croni käivitava serveri kellaajale. Kui kasutate kaugserverit, veenduge, et serveris olev aeg on õigesti konfigureeritud.