Cron је услужни програм за заказивање задатака у оперативном систему Linux. Омогућава вам да аутоматски покрећете скрипте или команде у одређено време, са одређеном учесталошћу или у одређеним догађајима.
Да бисте користили Cron, потребно је да креирате crontab
датотеку која садржи листу задатака и временске интервале у којима треба да се извршавају. Сваки задатак у crontab-у је линија која се састоји од пет поља раздвојених размацима:
* * * * * 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)
Знак *
означава било коју вредност, на пример, ако поље за минут садржи *
, задатак ће се извршавати сваког минута. Ако желите да поставите одређену вредност за поље, на пример, сваког дана у 3 ујутру, онда треба да напишете 0 3 * * *
.
Да бисте креирали или изменили crontab датотеку, користите команду crontab -e. Сваки корисник може имати своју crontab датотеку, као и системску датотеку /etc/crontab
, која садржи задатке који се покрећу као root.
Постоји cronjob
команда која вам омогућава покретање задатака унутар Docker контејнера. Ради слично као crontab
, али задаци се могу покретати унутар контејнера уместо на хост систему.
Да бисте почели да користите Cron на Linux-у, пратите ове кораке:
1. Отворите терминал и откуцајте crontab -e
. Ово ће отворити crontab датотеку за тренутног корисника.
2. Додајте задатак у crontab датотеку према горе описаном формату поља. На пример, ако желите да покрећете скрипту every_hour.sh
сваког сата, додајте ред 0 * * * * /path/to/every_hour.sh
.
3. Сачувајте измене и затворите датотеку.
4. Проверите да ли је задатак додат у crontab помоћу команде crontab -l
. Ово ће приказати све задатке додате у crontab
.
5. Проверите да ли се задатак извршава по плану помоћу команде tail -f /var/log/syslog
. Видећете излаз везан за извршење задатка.
6. Ако желите да уклоните задатак из crontab
, користите команду crontab -r
.
Постоје неке важне тачке које треба размотрити:
crontab
. Али ако желите да извршите скрипту, уверите се да има права извршавања ( chmod +x /path/to/script.sh
).sudo crontab -e
да бисте отворили crontab
датотеку за root корисника. Имајте у виду да ће време наведено у crontab
у одговарати времену на серверу на којем је покренут Cron. Ако користите удаљени сервер, уверите се да је време сервера исправно подешено.