- Crontab Linux võimaldab teil ülesandeid automaatselt kindlatel aegadel ajastada.
- Crontab-faili struktuur sisaldab selliseid välju nagu minutid, tunnid ja käsud.
- Väljundeid ja vigu saab ümber suunata parema ülesannete kontrolli tagamiseks.
- Täitmisvigade vältimiseks on oluline marsruudid ja õigused kontrollida.
Mis on Crontab Linux?
Crontab on Linuxis süsteemiadministraatoritele ja edasijõudnud Linuxi kasutajatele oluline funktsioon. See on ülesannete ajastaja, mis võimaldab teil käske või skripte automaatselt käivitada kindlatel aegadel või regulaarsete intervallidega. Crontab kasutab spetsiaalset faili ülesannete ja nende täitmise aja määratlemiseks.
Esialgne seadistus
Enne Crontab Linuxiga ülesannete ajastamise alustamist peate teadma põhitõdesid ja keskkonda õigesti konfigureerima.
Crontabi installimine Linuxisse
Alustamiseks veenduge, et Crontab on teie süsteemi installitud. Enamikus Linuxi distributsioonides on see juba kaasas, kuid kui teil seda pole, saate selle hõlpsalt installida järgmise käsuga:
sudo apt-get install cron
Pärast installimist saate kontrollida, kas teenus töötab ja töötab:
systemctl staatus cron
Crontab-faili struktuur
Crontab kasutab ajastatud ülesannete salvestamiseks spetsiaalset faili. See fail järgib kindlat struktuuri. Siin on ülevaade:
| Väli | kirjeldus | Aktsepteeritud väärtused |
|---|---|---|
| minutit | Tunni minut (0–59) | 0-59 |
| Horas | Kellaaeg (0-23) | 0-23 |
| Kuu päev | Kuu päev (1.–31.) | 1-31 |
| Kuu | Kuu (1–12 või kuu nimi) | 1.–12. või jaanuar, veebruar, …, detsember |
| Nädalapäev | Nädalapäev (0-6) | 0-6 o P, E, …, L |
| Käsk | Käsk täitmiseks | Skripti või käsu tee |
Ülaltoodud tabelis on näidatud Crontab-faili moodustavad väljad ja iga välja jaoks aktsepteeritud väärtused.
Praktilised näited
Nüüd, kui teate Crontab-faili põhistruktuuri, vaatame mõningaid praktilisi näiteid ülesannete ajastamise kohta.
Igapäevane ülesanne kindlal ajal
Kujutage ette, et soovite oma faile varundada iga päev kell 2. Saate selle ajastada järgmiselt:
30 14 * * * /path/to/copy-command.sh
Selles näites tähistab "30" minuteid, "14" tunde ja tärnid teistel väljadel tähendavad, et ülesannet käitatakse iga päev ja iga kuu.
Iganädalane kodutöö pühapäeviti
Kui soovite täita ülesannet ainult pühapäeviti kell 9, saate seda teha järgmiselt:
0 9 * * 0 /path/to/task-command.sh
Esimene väli "0" tähistab minuteid, "9" tähistab tunde ja "0" viimasel väljal näitab, et ülesannet tehakse ainult pühapäeviti.
Igakuine ülesanne kuu esimesel päeval
Oletame, et teil on igakuine ülesanne, mis peab toimuma iga kuu esimesel päeval kell 3:00:
0 3 1 * * /path/to/monthly-command.sh
Sel juhul tähistab "0" minuteid, "3" tunde ja "1" kuu päeva.
Nipid ja näpunäited
Väljundi ümbersuunamine
Linux Crontabiga ülesannete ajastamisel on oluline hallata ülesannetest väljumist. Saate standardväljundi ja vea hilisemaks ülevaatamiseks ümber suunata faili:
30 14 * * * /path/to/copy-command.sh > /way/to/output-file.log 2>&1
See käsurida suunab standardväljundi faili "output-file.log" ja veaväljundi samasse faili.
Crontab faili redigeerimine
Crontab-faili redigeerimiseks võite kasutada järgmist käsku:
crontab -e
See avab faili teie vaiketekstiredaktoris, kus saate ajastatud ülesandeid lisada, muuta või kustutada.
Täiustatud automatiseerimine Crontab Linuxiga
Siiani oleme käsitlenud Linux Crontabi põhitõdesid ja lihtsate toimingute ajastamist. Nüüd uurime täiustatud automatiseerimist ja mõnda kasulikku tehnikat.
Käivitage ülesandeid kohandatud intervallidega
Crontab võimaldab teil käivitada ülesandeid kohandatud intervallidega. Näiteks kui soovite käivitada ülesande iga 15 minuti järel, saate seda teha järgmiselt:
*/15 * * * * /path/to/task-command.sh
Tärn, millele järgneb “/15” minutiväljal, tähendab, et ülesannet käitatakse iga 15 minuti järel.
Ühendage kuupäevad ja kellaajad
Täpsete ülesannete ajastamiseks saate kuupäevi ja kellaaegu kombineerida. Näiteks kui soovite, et ülesanne käivituks 15. jaanuaril kell 3, saate seda teha järgmiselt:
30 15 15 1 * /path/to/task-command.sh
Ajakava nihke vältimine
Ülesannete planeerimisel on oluline arvestada ajamuutustega. Crontab Linux võimaldab teil vältida aja triiviga seotud probleeme, kasutades kohaliku aja asemel UTC-d. Selleks saate oma Crontab-failis ajavööndi määrata:
TZ=UTC 30 14 * * * /tee/ülesande-käsk.sh
See tagab, et ülesanne töötab samal ajal, olenemata kohaliku aja muutustest.
Tõrkeotsing ja levinumad vead
Ülesannete ajastamine Crontab Linuxiga on võimas, kuid see võib olla ka tõrketundlik. Siin on mõned näpunäited levinud probleemide tõrkeotsinguks.
Kontrollige käsutee
Üks levinumaid vigu on käivitatava käsu või skripti vale tee määramine. Veenduge, et tee on õige ja fail on käivitatav.
Kontrollige täitmisõigusi
Kui teie ülesanded ei tööta, kontrollige, kas failidel ja skriptidel on õiged täitmisõigused. Võite kasutada käsku chmod sobivate õiguste määramiseks.
Vaadake logifail üle
Kui teil tekib ülesandega probleeme, kontrollige Crontabis määratud logifaili. Sealt leiate üksikasjalikku teavet vigade kohta.
Järeldus
Selles artiklis uurisime Crontab Linuxit ja seda, kuidas seda ülesannete tõhusaks ajastamiseks kasutada. Alates installimisest kuni täiustatud ülesannete ajastamise ja tõrkeotsinguni on teil nüüd tööriistad, mida vajate ülesannete automatiseerimiseks oma Linuxi süsteemis . Samuti saate õppida muude seotud teemade kohta, näiteks ajastamise ja selle olulisuse kohta automatiseerimisel.