Periodinių užduočių planavimas naudojant „Cron“ sistemoje „Linux“.
cron
yra „Linux“ programa, naudojama suplanuoti komandą arba scenarijų, kuris bus vykdomas vėliau. Jis taip pat gali būti naudojamas planuojant periodiškai vykdomas komandas ir scenarijus. Programos, suplanuotos naudojant cron, paprastai vadinamos Kronas Jobsas. Jis daugiausia naudojamas sistemos administravimo užduotims, tokioms kaip reguliarios atsarginės kopijos, reguliarūs programinės įrangos atnaujinimai ir kitos panašios priežiūros užduotys.
Įvadas
cron
veikia kaip demonas Linux sistemoje, ty kaip foninis procesas. Tai leidžia vartotojams planuoti darbus tiesiogiai naudojant komandą crontab, kuri redaktoriuje atidaro konfigūracijos failą, pavadintą Cron File. Kiekvienam vartotojui sukuriami atskiri Cron failai.
Cron failo ir pagrindinės sintaksės kūrimas
The crontab
komandą galima vykdyti su -e
pažymėkite esamą Cron failą. Jei failo dar nėra, jis bus sukurtas. Jei vartotojas iškviečia komandą pirmą kartą ir jei Linux sistemoje yra įdiegtos kelios failų rengyklės, komanda paprašys vartotojo pasirinkti numatytąjį redaktorių iš redaktorių sąrašo.
Pasirinkus redaktorių, bus sukurtas ir atidarytas vartotojui skirtas cron failas. Dabar galite nurodyti užduotis faile.
Bendra Cron Job nurodymo sintaksė yra tokia:
Iš esmės, veiks nurodyta „minute“ (0–59), „valanda“ (0–23), „mėnesio diena“ (1–31), mėnuo (1–12), savaitės diena, (0–7, Sekmadienį galima naudoti 0 arba 7) Cron Job. Norėdami supaprastinti, paimkime pavyzdį:
1 2 3 4 5 echo "Labas"
Tai reiškia komandą echo "Labas"
veiks kas penktą savaitės dieną (penktadienį) ir kas 3 mėnesio dieną, kiekvieną 4 metų mėnesį (balandžio mėn.), 02:01 (2 valandos pirmą minutę).
Jei ta pati komanda turi būti vykdoma kasdien 02:01, sintaksė atrodys taip:
1 2 * * * aidas "Labas"
The *
reiškia „visada“ arba „visiems“, pvz. visiems mėnesiams, visoms savaitės dienoms ir kt.
Komandos operatorius (,
) gali būti naudojamas reikšmių sąrašui įvesti, kai užduotis turi būti kartojama. Pavyzdžiui:
0 2,3,4 * * * aidas "Labas"
Programa bus vykdoma kiekvieną dieną 2, 3 ir 4 val.
Panašiai, brūkšnelis (-
) operatorius galima naudoti norint nurodyti diapazoną, kuriam užduotis kartosis. Pavyzdžiui:
0-20 2 * * * echo "Labas"
Programa bus paleista 02:00, 02:01, 02:02 ir tt iki 02:20.
Pagaliau turime pasvirasis brūkšnys ( /
) operatorius. Šis operatorius naudojamas nurodyti intervalo reikšmę, pagal kurią užduotis bus kartojama. Pvz. */15
minučių lauke reiškia, kad užduotis turi būti kartojama kas 15 minučių. 2-10/2
valandų laukelyje nurodoma, kad užduotis turi kartotis nuo 2 iki 10 val. kas 2 valandų intervalą (2 val., 4 val., 6 val., 8 val., 10 val.).
*/15 2-10/2 * * * aidas "Labas"
Įvedę Cron failą, išsaugokite failą ir išeikite iš redaktoriaus.
Turėtumėte pamatyti a „įdiegti naują crontab“ pranešimą terminale, išsaugojus ir išėjus iš crontab failo.
Makrokomandos
Tam tikros makrokomandos yra iš anksto nustatytos programoje Cron, kurios nurodo kai kuriuos dažniausiai reikalingus laiko intervalus, pvz., kas valandą, kiekvieną dieną, kiekvieną mėnesį ir kt.
Norėdami atlikti užduotį kartą per dieną dienos pradžioje, t. y. 00:00, naudokite makrokomandą @kasdien
. Tai prilygsta 0 0 * * *
.
Tai galite įdėti į Cron failą taip pat, kaip aprašyta anksčiau.
Panašiai galima naudoti ir kitas makrokomandas, t. @valandinis
(kiekvienos valandos 0 minutė), @mėnesinis
(pirmos mėnesio dienos 00:00 val.), @savaitinis
(pirmos savaitės dienos 00:00 val. @kasmet
(kiekvienų metų sausio pirmosios 00.00 val.), @paleisti iš naujo
(kiekvieną kompiuterio paleidimą).
Išvada
Šiame straipsnyje mes sužinojome, kaip pridėti Cron Jobs, kad būtų galima reguliariai vykdyti Linux. Tinkamas „Cron Jobs“ naudojimas yra patogus atliekant net labiausiai varginančius rankinius darbus, su kuriais susiduria vartotojas, pvz. reguliarus senų žurnalų trynimas, visokių šaltų duomenų (duomenų, kurie retai pasiekiami) archyvavimas ir kt.