crontab

Croni töökohtade juhendaja algajatele

Croni töökohtade juhendaja algajatele
Cron on Linuxi või UNIX-i sarnase operatsioonisüsteemi kõige kasulikum utiliit, mis võimaldab käske või skripte kindla ajakavaga käivitada ilma kasutaja sekkumiseta. Planeeritud käske ja skripte nimetatakse ka croni töödeks. Seda kasutatakse enamasti korduvate tööde automatiseerimiseks, nagu ajastatud varukoopiate käitamine, ajutiste failide puhastamine, süsteemi hooldus ja mitmesugused muud korduvad tööd. See sarnaneb Windows OS-i ülesannete ajakavaga.

Selles õpetuses pakume teile põhitutvustust kõigest, mida peate croniga töö ajastamiseks mõistma. See hõlmab croni põhisüntaksit, crontab-faili redigeerimist, töö kavandamist croniga koos väheste näidetega, croni töö kuvamist jne.

Croni töö põhitõed

Mõistame mõningaid croni töö põhitõdesid.

Mis on Crond?

Crond on Linuxi süsteemi deemon, mis töötab taustal ja kontrollib iga minut, kas sel ajal on tööd planeeritud. Kui on, täidab ta seda tööd, muidu jääb see passiivseks.

Croni töö süntaks

Croni töö süntaks on järgmine:

* * * * * käsk / skript

Vasakult:

Väljal mitme väärtuse määramiseks kasutage järgmisi operaatori sümboleid:

  1. Tärn (*): Välja kõigi võimalike väärtuste määramiseks
  2. Kriips (-): To stäpsustage väärtuste vahemik
  3. Koma (,): Väärtuste loendi määramiseks
  4. Eraldaja (/): Sammuväärtuse määramiseks

Crontabi faili muutmine

Crontab on fail, mis sisaldab ajastatud töid konkreetses süntaksis. Crontab-faile on kahte tüüpi; üks süsteemipõhiste cron-tööde jaoks ja teine ​​kasutaja-spetsiifiliste cron-tööde jaoks.

System croni töökohad

Kogu süsteemi hõlmavad croni töökohad asuvad / etc / crontab fail ja / etc / cron.d kataloogi ja need käivitatakse / etc / cron.tunnis, / etc / cron.iga päev, / etc / cron.kord nädalas ja / etc / cron.igakuine. Nendele failidele pääseb juurde ainult süsteemiadministraator.

Süsteemiadministraator saab croni töö määratleda järgmise käsu abil:

$ nano / etc / crontab

Siin on töö süntaks / etc / crontab fail:

# min hr kuu ja kuu kasutajanime käsk
* * * * * kasutaja1 ifconfig

Kasutaja spetsiifilised croni tööd

Kasutaja spetsiifilised croni töökohad asuvad /var / spool / cron / crontabs kataloogi. Kuigi saate neid töid käsitsi redigeerida, on soovitatav neid töid muuta käsuga crontab -e.

Tavakasutaja saab croni töö määratleda järgmise käsu abil:

$ crontab -e

Näiteks kui olete sisse logitud „test” kasutajana, redigeerib käsu crontab -e käivitamine „test” kasutaja crontabi faili. Samamoodi, kui olete sisse loginud juurkasutajana, redigeerib käsk crontab -e juurkasutaja crontabi faili.

Teiste kasutajate crontab-faili muutmiseks väljastage terminalis järgmine käsk:

$ sudo crontab -u -e

Näiteks kui olete sisse logitud kui “test1” kasutaja ja soovite muuta “test2” kasutaja crontab-faili, oleks käsk järgmine:

$ sudo crontab -u test2 -e

Siin on cron-töö süntaks, mida saab crontab-faili lisada:

# m h kuu kuu päev nädalakäsk
* * * * * ifconfig

Kasutaja spetsiifilistel töökohtadel näete, et ühtegi kasutajanime pole esitatud.

Crontabi käsud

Crontabi käsku kasutatakse croni tööde muutmiseks, loendisse lisamiseks ja eemaldamiseks

  • crontab -e Praeguse kasutaja crontab-faili muutmiseks
  • crontab -l Crontab-faili sisu kuvamiseks
  • crontab -u [kasutajanimi] Mis tahes muu kasutaja crontab-faili muutmiseks
  • crontab -r Praeguse kasutaja crontab-faili eemaldamiseks
  • crontab -i Viiba kuvamine enne praeguse kasutaja crontab-faili eemaldamist

Töö planeerimine Croniga

Croni abil saate tööd käivitada kindla aja, kuupäeva ja intervallidega minimaalse ühikuga minutites, s.t.e., saate tööd juhtida iga minut.

Croniga töö ajastamiseks avage crontabi fail eelmises lõigus käsitletud meetodi abil. Kui olete crontab-faili avanud, palutakse teil valida tekstiredaktor. Eelistatud tekstiredaktori valimiseks tippige number. Kerige alla faili lõpuni ja lisage ülalkirjeldatud süntaksis töid. Iga faili rida määrab ühe käsu. Rea esimesed viis kirjet määravad ajastatud aja ja viimane kanne täpsustab, millist käsku või skripti peaks käitama.

Näide:

Järgmine crontab-faili rida ajastab croni töö käsku / skripti käivitama igal nädalapäeval esmaspäevast laupäevani iga 30. nädala möödumisel 5 tunnist.

* / 30 5 * * 1-6 käsk / skript

Protokollid

Sellel väljal täpsustame minutid, kui soovime käsu täitmist. See on täpsustatud vahemikus 0 kuni 59. Selle välja * tähendab töö käivitamist iga minut. Ülaltoodud crontab-real palub * / 30 croni tööl käivitada määratud käsk / skript iga 30 minuti järel.

Tunnid

Sellel väljal määrame kellaajad, millal soovime käsku täita. See on määratud vahemikus 0 kuni 23. Selle väli * tähendab töö juhtimist iga tund. Ülaltoodud crontab-real annab väärtus 5 käsu croni töö käivitada määratud käsk / skript iga viie tunni järel.

Kuu päev

Sellel väljal määrame konkreetsed kuupäevad, mil soovime käsu täitmist. See on täpsustatud vahemikus 1 kuni 31. Selle välja * tähendus on iga päev. Ülaltoodud crontab-real palub * cron-i tööl käivitada määratud käsk / skript iga päev.

Aasta kuu

Sellel väljal täpsustame konkreetsed kuud, mil soovime käsu täitmist. See on täpsustatud vahemikus 1 kuni 12. Selle välja * tähendus on iga kuu. Ülaltoodud crontab-real ütleb *, et cron-töö käivitab määratud käsu / skripti iga kuu.

Nädalapäev

Sellel väljal määrame konkreetsed nädalapäevad, mil soovime käsu täitmist. See on määratud pühapäevast laupäevani vahemikus 0–6 (pühapäeval 0 ja laupäeval 6). Selles valdkonnas tähendab * iga päev nädalas. Ülaltoodud crontab-real palub * cron-i tööl käivitada määratud käsk / skript nädala jooksul iga päev.

Croni töökohtade näited

Siin on mõned näited croni töökohtadest:

Juhtige croni tööd iga 15 minuti järel

Croni töö ajastamiseks iga 15 minuti tagant lisage crontabi faili järgmine rida:

* / 15 * * * * käsk / skript

Juhtige croni tööd iga päev kell 5 hommikul

Croni töö ajastamiseks iga päev kell 5 hommikul lisage crontabi faili järgmine rida:

0 5 * * * käsk / skript

Juhtige croni tööd iga päev kell 17.00

Croni töö ajastamiseks iga päev kell 17.00 lisage crontabi faili järgmine rida:

0 17 * * * käsk / skript

Juhtige croni tööd iga kuu esimesel päeval kell 9 hommikul

Croni töö ajastamiseks iga kuu esimesel päeval kell 9 hommikul lisage crontabi faili järgmine rida:

0 9 1 * * käsk / skript

Tehke iga 15. märtsi iga tunni tagant cron-tööd

Croni töö ajastamiseks iga tunni tagant igal 15. märtsil lisage crontabi faili järgmine rida:

0 * 15 3 * käsk / skript

Juhtige croni tööd iga 5 tunni järel

Croni töö ajastamiseks iga 5 tunni järel lisage crontabi faili järgmine rida:

0 * / 5 * * * käsk / skript

Juhtige croni tööd iga 15 minuti järel

Croni töö ajastamiseks iga 15 minuti tagant lisage crontabi faili järgmine rida:

* / 15 * * * *

Stringide kasutamine

Töö määratlemiseks saab kasutada ka järgmisi stringe:

  1. @ tund: Töö tegemiseks üks kord tunnis, s.t.e., "0 * * * *"
  2. @kesköö: Töö tegemiseks üks kord päevas, st.e., "0 0 * * *"
  3. @daily: sama mis südaöö
  4. @ nädalas: Töö tegemiseks üks kord nädalas, s.t.e., "0 0 * * 0"
  5. @igakuine: Töö tegemiseks üks kord kuus, st.e., "0 0 1 * *"
  6. @aastaselt: Töö tegemiseks üks kord aastas, st.e., "0 0 1 1 *"
  7. @aastat: sama mis @ aastas
  8. @reboot: Töö sooritamiseks üks kord igal käivitamisel

Näiteks skripti või käsu käivitamiseks igal nädalal oleks crontabi failis kirje:

@nädalane käsk / skript

Eelnevad Croni kataloogid

Linuxis on mõned eelnevalt määratletud croni kataloogid, kus salvestatud skriptid käivitatakse automaatselt. Kui paigutame nende kataloogide alla mõne skripti, käivitatakse see automaatselt seadistatud ajal.

  • / etc / cron.iga päev
  • / etc / cron.tunnis
  • / etc / cron.igakuine
  • / etc / cron.kord nädalas

Näiteks skripti kord kuus käivitamiseks peate selle paigutama / etc / cron-i.igakuine.

Kuva Croni töökohad

Kuva praeguse kasutaja töökohad

Praeguse kasutaja kõigi ajastatud croni tööde kuvamiseks kasutage järgmist käsku:

$ crontab -l

Vaadake juurkasutajate töökohti

Kõigi juurkasutaja ajastatud tööde kuvamiseks väljastage terminalis järgmine käsk:

$ kass / etc / crontab

Peate olema juurkasutajana sisse logitud või käsku sudo.

Vaadake teiste kasutajate töökohti

Konkreetse kasutaja kõigi ajastatud tööde kuvamiseks väljastage terminalis järgmine käsk, asendades selle tegeliku kasutajanimega:

$ sudo crontab -u -l

Selle käsu käivitamiseks vajate sudoõigusi.

Vaadake tundide kaupa töökohti

Kõigi croni tööde kuvamiseks, mis on konfigureeritud töötama tunnis, väljastage terminalis järgmine käsk:

$ ls -la / etc / cron.tunnis

Vaadake igapäevaseid croni töökohti

Kõigi igapäevaselt käitamiseks konfigureeritud croni tööde kuvamiseks väljastage terminalis järgmine käsk:

$ ls -la / etc / cron.iga päev /

Nädalate croni tööde kuvamine

Kõigi cron-tööde kuvamiseks, mis on konfigureeritud iganädalaseks käitamiseks, väljastage terminalis järgmine käsk:

$ ls -la / etc / cron.iganädalane /

Vaadake igakuiseid croni töökohti

Kõigi igakuiselt käitamiseks konfigureeritud croni tööde kuvamiseks väljastage terminalis järgmine käsk:

$ ls -la / etc / cron.igakuine/

Varundage kõik Croni töökohad

Soovitatav on failis hoida kõigi croni tööde varukoopia, et saaksite kustutamise korral taastada. Kõigi praeguste tööde varundamiseks tehke ümbersuunamisoperaatoriga crontab -l väljund faili suunamiseks.

$ crontab -l> backup_cron.txt

Kõigi plaanitud Croni töökohtade eemaldamine

Kõigi ajastatud croni tööde eemaldamiseks kasutage lippu -r järgmiselt:

$ crontab -r

Croni luba

Me võime piirata juurdepääsu crontabi käsule kahe faili kaudu: / etc / cron.lubada ja / etc / cron.eitada.

  • / etc / cron.lubama - Lisage kasutajad (üks rea kohta), kellele soovite lubada juurdepääsu crontabi käskudele. Need kasutajad saavad käivitada tööde ajastamise.
  • / etc / cron.eitada - Lisage kasutajad (üks rea kohta), kellele soovite keelata juurdepääsu crontabi käskudele. Need kasutajad ei saa ajastatud töid käivitada.

Crontabi süntaksigeneraatorid

On mõned veebisaidid, mis võimaldavad genereerida süntaksit crontabide jaoks. Need veebisaidid hõlbustavad crontab-avaldise loomist ilma süntaksit meelde jätmata. Kuigi süntaksigeneraatorite jaoks on saadaval erinevad veebisaidid, näiteks crontabgenerator.com, crontab-generaator.org ja cronmaker.com. Üks, mida ma enamasti eelistan ja millest on abi olnud, on crontab.guru. Kasutaja sisendi põhjal genereerib see crontabi avaldise, mille saate kopeerida ja kleepida crontabi faili.

Järeldus

Selles õpetuses oleme selgitanud croni tööde põhitõdesid, nende süntaksit ja selle seadistamist. Oleme arutanud ka seda, kuidas vaadata croni töökohti, luua varukoopia ja eemaldada, kui see pole enam vajalik.

Kuidas näidata FPS-loendurit Linuxi mängudes
Linuxi mängimine sai suure tõuke, kui Valve teatas Steam-kliendi ja nende mängude Linuxi toest 2012. aastal. Sellest ajast peale on paljud AAA- ja ind...
Sid Meieri Civilization VI allalaadimine ja mängimine Linuxis
Sissejuhatus mängu Civilization 6 on kaasaegne kontseptsioon, mis tutvustati Age of Empires mängude sarjas. Idee oli üsna lihtne; alustaksite kõige põ...
Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...