1. Mis on Cron?
Cron on ajapõhine ülesannete planeerija, mida kasutatakse Linuxi ja Unixi süsteemides. Seda kasutavad peamiselt süsteemiadministraatorid ja arendajad korduvate ülesannete automatiseerimiseks. Ubuntus on Cron vaikimisi installitud ning seda kasutatakse sageli serveri haldamiseks, varundamiseks ja skriptide perioodiliseks käivitamiseks.
Kuidas Cron töötab?
Cron töötab “crontab” faili kaudu, kuhu saab määrata käske, mis käivitatakse kindlatel aegadel või intervallidel. Crontabis on viis ajavälja, mille väärtuste abil saab täpselt määrata, millal ülesanne käivitatakse.
- Minutid (0–59)
- Tunnid (0–23)
- Päev (1–31)
- Kuu (1–12)
- Nädalapäev (0–7, kus 0 ja 7 tähistavad pühapäeva)
Näiteks, kui soovite iga päev kell 5:00 varukoopia käivitada, kirjutaksite crontabi faili järgmise rea:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Sellisel viisil saab Croni abil ülesandeid regulaarselt ja automaatselt käivitada.
Kes peaks Croni kasutama?
Cron on hädavajalik tööriist süsteemiadministraatoritele, arendajatele, kes soovivad oma töövoogu automatiseerida, ning neile, kes peavad serveris regulaarselt skripte käivitama.

2. Kuidas seadistada Croni ülesandeid?
Crontabi muutmine
Croni ülesande seadistamiseks tuleb avada ja redigeerida kasutaja crontabi faili. Ubuntus saab seda teha käsuga:
crontab -e
Croni ülesannete põhisüntaks
Crontabi failis määratud ülesanne koosneb ajaväljadest ja käivitavast käsust. Tüüpiline Croni ülesande vorming on järgmine:
Minut Tund Päev Kuu Nädalapäev Käsk
Näiteks järgnev ülesanne loob iga päev kell 5:00 varukoopia /home/
kataloogist:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Crontabi salvestamine ja kontrollimine
Pärast ülesannete lisamist tuleb fail salvestada ja sulgeda. Praeguste Croni ülesannete vaatamiseks saab kasutada järgmist käsku:
crontab -l
3. Täpsem Croni ajastamine
Ülesannete käivitamine kohandatud ajavahemikega
Kui on vaja ülesandeid käivitada iga minut või iga 5 minuti järel, saab kasutada järgmist süntaksit:
- Iga minut:
* * * * * /path/to/script.sh
- Iga 5 minuti järel:
*/5 * * * * /path/to/script.sh
Ülesannete käivitamine kindlatel nädalapäevadel või kellaaegadel
Kui soovite käivitada skripti ainult kindlatel nädalapäevadel, näiteks esmaspäeviti kell 2:15 öösel, saate kasutada järgmist käsku:
15 2 * * 1 /path/to/script.sh
4. Vigade käsitlemine ja tõrkeotsing
Levinud Croni probleemid ja nende lahendused
Ülesanne ei käivitu
Kui Croni ülesanne ei tööta, kontrollige järgmisi aspekte:
- Failiõigused: Kontrollige, kas skript või käsk on käivitatav.
- Täielik tee: Croni ülesanded ei kasuta tavalist
$PATH
, seega määrake käsud täieliku failiteega.
/usr/bin/python3 /path/to/script.py
Logide kontrollimine
Croni tegevusi ja tõrkeid saab kontrollida süsteemilogidest:
grep CRON /var/log/syslog
5. Turvakaalutlused
Kasutajate juurdepääsu kontrollimine
Croni ülesannete käivitamise õigusi saab piirata kasutajatele, kasutades faile /etc/cron.allow
ja /etc/cron.deny
. Kui kasutaja on lisatud faili /etc/cron.allow
, saab ta Croni kasutada.
echo "user_name" >> /etc/cron.allow
Sisselogimise turvalisus ja Croni ülesanded
Kui Croni ülesanne nõuab autentimist, tuleks kasutada SSH võtmete automatiseerimist või turvalist paroolihaldust.
6. Anacroni kasutamine: Harva käivitatavad ülesanded
Mis on Anacron?
Anacron on ajastustööriist, mis on mõeldud süsteemidele, mis ei ole pidevalt sisse lülitatud. Kui süsteem oli välja lülitatud ja planeeritud ülesanne jäi täitmata, siis Anacron käivitab selle järgmise sisselülitamise korral.
7. Praktilised Croni kasutusjuhud
Varundamise automatiseerimine
Croni saab kasutada regulaarsete varukoopiate tegemiseks:
0 2 * * * tar -zcf /var/backups/home_backup_$(date +%Y-%m-%d).tgz /home/
8. Kokkuvõte
Croni ja Anacroni abil saab ülesandeid automaatselt ja efektiivselt ajastada, parandades süsteemi töökindlust. Õige seadistusega saab vähendada halduskulusid ning tagada oluliste süsteemihoolduste automaatse täitmise. Proovige neid oma süsteemis ja kogege nende eeliseid ise!