Õpi Linuxit

Kuidas luua Croni töökohti Linuxis

Kuidas luua Croni töökohti Linuxis

Croni või Croni töö on ajapõhine ajakava, mis on levinud Linuxi / Unixi süsteemides. See ajastab määratud kasutajaülesanded perioodiliselt kindla kuupäeva, kellaaja või intervallidega töötama. Enamik neist toimingutest on skriptid selliste funktsioonide täitmiseks nagu varukoopiad ja muu. Nende croni töökohtade loomiseks kasutame crontabi käske. Crontab on UNIX-i käsk / utiliit, mida kasutatakse croni tööde loomiseks ja haldamiseks.

Nagu näete allpool, on croni töö loomine ja muutmine üsna lihtne. Kõige hämmastavam on see, et pärast croni töö loomist või redigeerimist pole vaja croni ega isegi arvutit taaskäivitada. Salvestage fail lihtsalt ja teil on hea minna.

Cron Jobsi tavalised kasutusalad

Croni käsu põhiosad

Crontabi standardne süntaks on järgmine:

a b c d e KASUTAJANIMI / tee / kuni / skripti väljund

1.Kellaaeg ja kuupäev koos töö korduvusega määratakse viie välja abil:

Märkus. Päevad algavad esmaspäevast. 0 ja 7 tähistavad pühapäeva

2. USERNAME: Ärge unustage seda asendada oma kasutajanimega

3. Konkreetse asukoha ja skripti, mille cron käivitab, määrab kolmas segment:

/ path / to / script

4. Viimases jaotises määratletakse kasutajale töö lõpetamisel teatamine kui viis ülesannete jälgimiseks:

väljund

Kuid teie postkast võib olla täis väiksemaid ülesandeid, mida sageli kanaliseeritakse. Selle vältimiseks saate automaatse e-posti väljundi keelata, lisades oma croni käsule alloleva stringi:

> / dev / null 2> & 1 e.g a b c d e KASUTAJANimi / path / to / script> / dev / null 2> & 1

Lisaks kasutab cron veel nelja väärtust, mida kasutatakse mitme väärtuse määramiseks väljal. Nemad on:

Croni töökohtade seadistamine

Crontabi käsud vastutavad croni tööde loomise ja muutmise eest, kuna croni faile ei tohiks otse redigeerida. Crontab määratleb, kuidas saate croni ülesandeid luua, muuta, loetleda, siluda, installida ja desinstallida.

Enne croni tööde alustamist on oluline tagada, et teie Linuxi töölaud või server oleks ajakohane, käivitades järgmised käsud:

sudo apt värskendus sudo apt uuendus

Kui teie süsteemis pole croni paketti installitud, installige see järgmise käsuga:

sudo apt-get install cron

Installige cron

Kuidas redigeerida crontabi faili?

Protsessi lõpuleviimiseks peate konfigureerima croni töö. Croni töö loomisel sisse loginud kasutaja saab automaatselt omanikuks. Seda saab muuta, luues töökoha omaniku, kes vastutab croni töö haldamise eest, nagu näeme sellest postitusest.

Crontabi konfiguratsioonifaili avamiseks sisseloginud kasutajale käivitage järgmine käsk:

crontab -e

Süsteem palub teil valida sobiva redaktori. Meie puhul valime esimese võimaluse (nano-redaktor).

crontab -e

Reale saate lisada ühe ajastatud ülesande vastavalt oma eelistustele.

crontabi fail

Pärast ülesannete lisamist lõpetage faili salvestamine ja väljumine. Kõik pakutavad juhised loeb ja täidab cron-deemon. Muudatusi rakendatakse ka ilma süsteemi taaskäivitamata, kuna hoidlat värskendatakse automaatselt.

Redigeerige teise kasutaja crontab-i

Crontabi saab muuta erinevate kasutajate jaoks, kasutades allolevas süntaksis olevat käsku:

crontab -u muu_kasutajanimi -e

Kuidas kasutada crontab-käskudes erimärke

Märgid ja operaatorid dikteerivad teie süsteemi rohkem kohandama, kuna need laiendavad croni ülesande võimalusi.

0 6 * * 1-5 / juur / varukoopia.sh

Siin tähistab 06 kella 6.00 1-5 tähistab päevade arvu (esmaspäevast reedeni).

35 1-23 / 2 * * * / path / to / skript / skript.sh

1–23 määrab tundide vahemiku, / 2 määrab intervalliks iga teise tunni.

Croni valikud

Võimalik, et soovite oma süsteemis olevad croni tööd loetleda ilma crontabi konfiguratsioonifaili avamata. Seda saab teha oma terminali käivitades ja tippides alloleva käsu:

crontab -l

loetle croni töökohad

See käsk loetleb kõik teie süsteemis olevad croni tööd.

Kõigi crontab-käskude kustutamiseks võite kasutada järgmist käsku:

crontab -r
crontab -r -u muu kasutajanimi

Kasuta stringe Crontabis

Stringid on arendajatele tohutult kasulikud tööriistad, kuna need väldivad koodisegmentide korduvat kirjutamist. Õnneks toetavad crontabs erinevad stringide väärtusi. Nad sisaldavad:

@ tund: -sama mis - "0 * * * *" (täidab üks kord iga tund)
@kesköö:  -sama mis - "0 0 * * *" (täidab üks kord iga kord päeval)
@daily: sama mis südaöö
@ nädalas:  -sama mis - "0 0 * * 0" (käivitatakse üks kord iga kord nädal)
@igakuine: -sama mis - „0 0 1 * *“ (täidab üks kord iga kord kuu)
@aastaselt: -sama mis - „0 0 1 1 *“ (täidab üks kord iga kord aasta)
@aastat: sarnane @aastaga
@reboot: Teostatakse üks kord pärast iga taaskäivitamist / taaskäivitamist / käivitamist.

Hea näide; kui teil on varukript, mida soovite iga päev käivitada, kasutage järgmist käsku:

@daily / path / to / backup_script.sh

Croni töökohtade näited

Siin on loetelu peamistest croni töödest, mida saab alustamisel kasutada:

    1. Skripti käivitamiseks iga minut:
      * * * * * / teie / skript / tee.sh
    2. Skripti käivitamiseks iga 40 minuti järel:
      40 * * * * / teie / skript / tee.sh
    3. Iga tunni tagant skripti käitamiseks toimige järgmiselt
      0 * * * * / teie / skript / tee.sh
    4. Skripti käivitamiseks igal keskööl:
      0 0 * * * / teie / skript / tee.sh
    5. Skripti käivitamiseks iga 23 minuti järel pärast keskööd, kell 2 hommikul ja 4 hommikul:
      23 0-23 / 2 * * * / teie / skript / tee.sh
    6. Skripti käivitamiseks kell 4.05 igal pühapäeval.
      5 4 * * päike / teie / skript / tee.sh
    7. Nädala jooksul kell 22 stsenaariumi käivitamiseks.
      0 22 * ​​* 1-5 / teie / skript / tee.sh
    8. Skripti käivitamiseks 1. detsembril - keskööl.
      0 0 0 12 * / teie / skript / tee.sh
    9. Käitada stsenaariumi laupäeval keskööl.
      0 0 * * 6 / teie / skript / tee.sh
    10. Skripti käivitamiseks iga tund.
      0 * * * * / teie / skript / tee.sh

Nende põhinäidete abil saate sügavamalt mõista järjestust ja seda, kuidas seda saab muuta.

Croni juurdepääsu piiramine

Me näeme, et croni töökohad võivad olla üsna kasulikud, eriti kui soovite oma ülesandeid automatiseerida. Kuid see võib olla ka riskantne, kui süsteem lubab igal kasutajal luua croni töö. Isegi kui see ei mõjuta isikuandmeid, võivad mõned croni töökohad võtta üsna palju süsteemiressursse, viivitades sellega arvutiga. Selliste stsenaariumide vältimiseks võib süsteemiadministraator (juurkasutaja) luua / etc / cron.lubama  või / etc / cron.eitada fail, mis sisaldab ainult kasutajaid, kes seda saavad "loo / ei loo" croni töö.

The / etc / cron.lubama fail sisaldab kasutajaid, kes saavad crontab-faile luua, muuta, kuvada või eemaldada. Kui seda faili pole, saavad kõik kasutajad luua ja hallata muid croni töid kui need, mis asuvad / etc / cron.eitada faili. Kui ühtegi neist failidest pole, on crontabi käsu käivitamiseks vaja ülemkasutaja õigusi.

cron faili lubamine

Nüüd, kui olete takistanud juurjuurtega kasutajatel croni töökohtade loomist, kui neil neid juba oli, võiksite kaaluda nende croni tööde lisamist root crontabi faili. Kuid siin on mõistatus - lisades oma croni töökohad juure crontabile, kas see ei käivita nende croni töid juurtena? Siit tuleb välja välja USERNAME tähtsus, mida käsitlesime ülal croni käsu süntaksis. Näiteks järgmine käsk:

0 * * * * fosslinux / path / to / skript.sh

Käivitatakse kasutaja "fosslinux" croni tööna ja mitte juurkasutajana.

Järeldus

Nüüd on teil selge juhend Croni tööde kasutamiseks oma süsteemi erinevate ülesannete automatiseerimiseks. See ei tohiks teid Startup-rakendustega segi ajada. Lihtsate skriptide proovimiseks ja automatiseerimiseks kasutage ülaltoodud näiteid. Aja jooksul saate kombineerida erimärke ja metamärke, et täita palju igapäevaseid ülesandeid. Kui te alles alustate, oleks tore lugeda meie postitust bashi skriptimise õpetuses koos näidetega, mis aitavad teil oma esimest skripti luua.

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...
Vulkan Linuxi kasutajatele
Iga uue põlvkonna graafikakaartidega näeme, et mängude arendajad ületavad graafilise truuduse piire ja jõuavad fotorealismile ühe sammu lähemale. Kuid...
OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...