Cron ir Linux operētājsistēmas uzdevumu plānošanas rīks. Tā ļauj automātiski palaist skriptus vai komandas noteiktā laikā, intervālos vai notikumos.
Lai izmantotu Cron, ir jāizveido crontab
fails, kas satur uzdevumu sarakstu un laika intervālus, kad tie jāizpilda. Katrs crontab uzdevums ir virkne, kas sastāv no pieciem laukiem, kuri atdalīti ar atstarpēm:
* * * * * 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)
*
apzīmē jebkuru vērtību, piemēram, ja laukā minutes ir *
, uzdevums tiks izpildīts katru minūti. Ja vēlaties laukam iestatīt konkrētu vērtību, piemēram, katru dienu plkst. 3.00, ierakstiet 0 3 * * * * *
.
Lai izveidotu vai mainītu crontab failu, izmantojiet komandu crontab -e. Katram lietotājam var būt savs crontab fails, kā arī sistēmas fails /etc/crontab
, kas satur uzdevumus, kuri tiek izpildīti kā root lietotājam.
Pastāv komanda cronjob
, kas ļauj palaist uzdevumus Docker konteineros. Tā darbojas līdzīgi kā crontab
, taču uzdevumus var palaist konteinerā, nevis galvenajā sistēmā.
Lai sāktu izmantot Cron Linux operētājsistēmā, izpildiet šādas darbības:
1. Atveriet termināli un ievadiet komandu crontab -e
. Tas atvērs pašreizējā lietotāja crontab failu.
2. Pievienojiet uzdevumu crontab failā saskaņā ar iepriekš aprakstīto lauka formātu. Piemēram, ja vēlaties katru stundu palaist skriptu every_hour.sh
, pievienojiet rindu 0 * * * * * * * /path/to/every_hour.sh.
3. Saglabājiet izmaiņas un aizveriet failu.
4. Pārbaudiet, vai uzdevums ir pievienots crontab, izmantojot komandu crontab -l
. Tā parādīs visu crontab
pievienoto uzdevumu sarakstu.
5. Pārbaudiet, vai uzdevums tiek izpildīts pēc grafika, izmantojot komandu tail -f /var/log/syslog
. Jūs redzēsiet ar uzdevuma izpildi saistīto izvades rezultātu.
6. Ja vēlaties izņemt uzdevumu no crontab
, izmantojiet komandu crontab -r
.
Ir daži svarīgi punkti, kas jāpatur prātā:
crontab
var pievienot gan skriptus, gan komandas. Bet, ja vēlaties izpildīt skriptu, pārliecinieties, ka tam ir izpildīšanas atļaujas(chmod +x /path/to/script.sh).
sudo crontab -e
, lai atvērtu crontab
failu root lietotājam.Ņemiet vērā, ka crontab
norādītais laiks sakrīt ar laiku serverī, kurā darbojas Cron. Ja izmantojat attālu serveri, pārliecinieties, ka laiks serverī ir konfigurēts pareizi.