"Cron" yra "Linux" operacinės sistemos užduočių planavimo įrankis. Ji leidžia automatiškai paleisti scenarijus ar komandas tam tikru laiku, tam tikrais intervalais ar tam tikrais įvykiais.
Norėdami naudoti "Cron", turite sukurti "crontab"
failą, kuriame būtų užduočių sąrašas ir laiko intervalai, kada jos turėtų būti vykdomos. Kiekviena crontab faile esanti užduotis yra eilutė, kurią sudaro penki laukai, atskirti tarpais:
* * * * * 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)
*
reiškia bet kokią reikšmę, pavyzdžiui, jei lauke minutes yra *
, užduotis bus vykdoma kas minutę. Jei norite nustatyti konkrečią lauko reikšmę, pavyzdžiui, kiekvieną dieną 3 val. ryto, įrašykite 0 3 * * * * *
.
Norėdami sukurti arba pakeisti crontab failą, naudokite komandą crontab -e. Kiekvienas naudotojas gali turėti savo crontab failą, taip pat sisteminį failą /etc/crontab
, kuriame yra užduotys, vykdomos kaip root naudotojo.
Yra komanda cronjob
, kuri leidžia paleisti užduotis "Docker" konteineriuose. Ji veikia panašiai kaip crontab
, tačiau užduotys gali būti vykdomos ne pagrindinėje sistemoje, o konteineryje.
Norėdami pradėti naudoti "Cron" "Linux", atlikite šiuos veiksmus:
1. Atidarykite terminalą ir įveskite komandą crontab -e
. Taip bus atidarytas dabartinio naudotojo crontab failas.
2. Į crontab failą pridėkite užduotį pagal pirmiau aprašytą lauko formatą. Pavyzdžiui, jei norite kas valandą paleisti scenarijų every_hour.sh
, pridėkite eilutę 0 * * * * * * * /path/to/every_hour.sh.
3. Išsaugokite pakeitimus ir uždarykite failą.
4. Patikrinkite, ar užduotis įtraukta į crontab, naudodami komandą crontab -l.
Ji parodys visų į crontab
pridėtų užduočių sąrašą.
5. Patikrinkite, ar užduotis vykdoma pagal planą, naudodami komandą tail -f /var/log/syslog
. Pamatysite su užduoties vykdymu susijusią išvestį.
6. Jei norite pašalinti užduotį iš crontab
, naudokite komandą crontab -r
.
Reikia nepamiršti kelių svarbių dalykų:
crontab
galite įtraukti ir scenarijus, ir komandas. Tačiau jei norite vykdyti scenarijų, įsitikinkite, kad jam suteiktos vykdymo teisės(chmod +x /path/to/script.sh).
sudo crontab -e
, kad atidarytumėte crontab
failą root naudotojui.Atkreipkite dėmesį, kad crontab
faile nurodytas laikas sutaps su laiku serveryje, kuriame veikia Cron. Jei naudojate nutolusį serverį, įsitikinkite, kad laikas serveryje sukonfigūruotas teisingai.