Sužinokite „Linux“

Kaip sukurti „Cron Jobs“ sistemoje „Linux“

Kaip sukurti „Cron Jobs“ sistemoje „Linux“

„Cron“ arba „Cron“ užduotis yra laiko planuotojas, įprastas „Linux / Unix“ sistemose. Jis suplanuoja nurodytas vartotojo užduotis vykdyti periodiškai fiksuota data, laiku ar intervalais. Dauguma šių užduočių yra scenarijai, skirti atlikti tokias funkcijas kaip atsarginės kopijos ir dar daugiau. Norėdami sukurti šias „cron“ darbo vietas, naudojame „crontab“ komandas. „Crontab“ yra UNIX komanda / įrankis, naudojamas kuriant ir tvarkant „cron“ užduotis.

Kaip pamatysite žemiau, sukurti ir redaguoti „cron“ darbą yra gana paprasta. Nuostabiausia yra tai, kad sukūrus ar redagavus „cron“ darbą nereikia iš naujo paleisti „cron“ ar net kompiuterio. Tiesiog išsaugokite failą ir viskas gerai.

Dažnas „Cron Jobs“ naudojimas

Pagrindinės cron komandos dalys

Standartinė crontab sintaksė yra tokia:

a b c d e VARTOTOJO VARDAS / kelias / į / scenarijaus išvestis

1.Laikas ir data kartu su darbo pasikartojimu nurodomi penkiuose laukuose:

Pastaba: dienos prasideda pirmadieniu. 0 ir 7 reiškia sekmadienį

2. VARTOTOJO VARDAS: Nepamirškite pakeisti savo vartotojo vardo

3. Konkrečią vietą ir scenarijų, kurį turi atlikti „cron“, nurodo trečiasis segmentas:

/ kelias / į / scenarijus

4. Paskutiniame skyriuje naudotojui skirtas pranešimas apie užduotį apibrėžiamas kaip būdas stebėti užduotis:

produkcija

Tačiau jūsų gautuosiuose gali būti daug smulkių užduočių, kurios dažnai nukreipiamos. Norėdami to išvengti, galite išjungti automatinį el. Pašto išvestį, pridėdami žemiau esančią eilutę prie savo cron komandos:

> / dev / null 2> & 1 e.g a b c d e VARTOTOJO VARDAS / kelias / į / scenarijus> / dev / null 2> & 1

Be to, „cron“ naudoja dar keturias reikšmes, naudojamas nurodant kelias lauko reikšmes. Jie yra:

„Cron“ darbo vietų nustatymas

„Crontab“ komandos yra atsakingos už „cron“ darbų kūrimą ir redagavimą, nes „cron“ failai neturėtų būti tiesiogiai redaguojami. Crontab apibrėžia, kaip galite kurti, redaguoti, sąrašus, derinti, įdiegti ir pašalinti „cron“ užduotis.

Prieš pradedant „cron“ darbus, būtina įsitikinti, kad „Linux“ darbalaukis ar serveris yra atnaujinti, vykdydami toliau nurodytas komandas:

sudo apt atnaujinti

Jei jūsų sistemoje nėra įdiegtas „cron“ paketas, įdiekite jį naudodami toliau pateiktą komandą:

sudo apt-get install cron

Įdiekite cron

Kaip redaguoti crontab failą?

Norėdami užbaigti procesą, turėsite sukonfigūruoti „cron“ užduotį. Vartotojas, prisijungęs, kai sukuriama „Cron“ užduotis, automatiškai tampa savininku. Tai galima pakeisti sukūrus darbo savininką, kuris bus atsakingas už „cron“ darbo valdymą, kaip matysime šiame įraše.

Norėdami atidaryti „crontab“ konfigūracijos failą šiuo metu prisijungę vartotojui, vykdykite toliau nurodytą komandą:

crontab -e

Sistema paragins pasirinkti tinkamą redaktorių. Mūsų atveju pasirinksime pirmąjį variantą (nano redaktorius).

crontab -e

Kiekvienoje eilutėje galite pridėti vieną suplanuotą užduotį pagal savo pageidavimus.

crontab failas

Pridėję užduotis, užbaikite išsaugodami failą ir išeikite. „Cron“ demonas perskaitys ir vykdys visas pateiktas instrukcijas. Pakeitimai bus taikomi net nepaleidus sistemos iš naujo, nes saugykla atnaujinama automatiškai.

Redaguoti kito vartotojo crontab

„Crontab“ gali būti redaguojamas skirtingiems vartotojams naudojant žemiau esančioje sintaksėje esančią komandą:

crontab -u kitas_naudotojo vardas -e

Kaip naudoti specialiuosius simbolius crontab komandose

Veikėjai ir operatoriai diktuoja daugiau jūsų sistemos pritaikymo, nes jie praplečia „cron“ užduoties galimybes.

0 6 * * 1-5 / šaknis / atsarginė kopija.sh

Čia 06 reiškia 6 val. 1–5 reiškia dienų skaičių (nuo pirmadienio iki penktadienio).

35 1-23 / 2 * * * / kelias / į / scenarijus / scenarijus.sh

1-23 nurodo valandų intervalą, / 2 nustato intervalą kas antrą valandą.

„Cron“ parinktys

Galbūt norėsite išvardyti „cron“ užduotis savo sistemoje, neužrakindami „crontab“ konfigūracijos failo. Tai galima padaryti paleisdami terminalą ir įvesdami žemiau esančią komandą:

crontab -l

išvardykite cron darbus

Ši komanda išvardija visus jūsų sistemoje esančius „cron“ darbus.

Norėdami ištrinti visas „crontab“ komandas, galite naudoti toliau pateiktą komandą:

crontab -r
crontab -r -u kitas vartotojo vardas

„Crontab“ naudokite stygas

Stygos yra nepaprastai naudingos priemonės kūrėjams, nes jos vengia kartoti kodo segmentų rašymą. Laimei, crontabs palaiko įvairias styginių vertes. Jie įtraukia:

@ valandą: -tas pats kaip - „0 * * * *“ (Vykdo kartą per valandą)
@vidurnaktis:  -tas pats kaip - „0 0 * * *“ (Vykdo kartą per dieną)
@ kasdien: tas pats kaip vidurnaktis
@ kas savaitę:  -tas pats kaip - „0 0 * * 0“ (Vykdo kartą kas savaitę)
@ mėnesį: -tas pats kaip - „0 0 1 * *“ (Vykdo kartą per mėnesį)
@ kasmet: -tas pats kaip - „0 0 1 1 *“ (Vykdo kartą per metus)
@ metai: panašus į @metai
@reboot: Vykdoma vieną kartą po kiekvieno perkrovimo / perkrovimo / paleidimo.

Geras pavyzdys; jei turite atsarginį scenarijų, kurį norite paleisti kiekvieną dieną, naudokite toliau pateiktą komandą:

@daily / path / to / backup_script.sh

„Cron“ darbų pavyzdžiai

Čia pateikiamas pagrindinių „cron“ darbų, kuriuos galima naudoti pradedant, sąrašas:

    1. Norėdami paleisti scenarijų kiekvieną minutę:
      * * * * * / jūsų / scenarijus / kelias.sh
    2. Norėdami paleisti scenarijų kas 40 minučių:
      40 * * * * / jūsų / scenarijus / kelias.sh
    3. Norėdami paleisti scenarijų kiekvieną valandą:
      0 * * * * / jūsų / scenarijus / kelias.sh
    4. Norėdami paleisti scenarijų kiekvieną vidurnaktį:
      0 0 * * * / jūsų / scenarijus / kelias.sh
    5. Norėdami paleisti scenarijų kas 23 minutes po vidurnakčio, 2 ir 4 val. Kiekvieną dieną:
      23 0-23 / 2 * * * / jūsų / scenarijus / kelias.sh
    6. Norėdami paleisti scenarijų 4.05 kiekvieną sekmadienį.
      5 4 * * saulė / tavo / scenarijus / kelias.sh
    7. Savaitės 22 val. Paleisti scenarijų.
      0 22 * ​​* 1-5 / jūsų / scenarijus / kelias.sh
    8. Norėdami paleisti scenarijų gruodžio 1 d. - vidurnaktį.
      0 0 0 12 * / jūsų / scenarijus / kelias.sh
    9. Šeštadienį vidurnaktį paleisti scenarijų.
      0 0 * * 6 / jūsų / scenarijus / kelias.sh
    10. Kiekvieną valandą paleisti scenarijų.
      0 * * * * / jūsų / scenarijus / kelias.sh

Pateikdami šiuos pagrindinius pavyzdžius, galėsite giliau suprasti seką ir kaip ją galima modifikuoti.

„Cron“ prieigos ribojimas

Mes matome, kad „cron“ darbai gali būti labai naudingi, ypač kai norite automatizuoti savo užduotis. Tačiau taip pat gali būti rizikinga, jei sistema leidžia bet kuriam vartotojui sukurti „cron“ darbą. Net jei tai neturi įtakos asmens duomenims, kai kuriems „cron“ darbams gali prireikti gana daug sistemos išteklių, taigi atsilieka nuo kompiuterio. Norėdami išvengti tokių scenarijų, sistemos administratorius (root vartotojas) gali sukurti / etc / cron.leisti  arba / etc / cron.neigti failą, kuriame yra tik galintys vartotojai „kurti / nekurti“ cron darbas.

The / etc / cron.leisti faile yra vartotojai, kurie gali kurti, redaguoti, rodyti ar pašalinti crontab failus. Jei šio failo nėra, visi vartotojai gali kurti ir tvarkyti kitas nei „CRON“ užduotis / etc / cron.neigti failą. Jei nėra nė vieno iš šių failų, norint paleisti komandą „crontab“, reikalingos vartotojo teisių.

cron leisti failą

Dabar, kai neleidote ne root vartotojams kurti „cron“ darbo vietų, jei jie jau turėjo, galite apsvarstyti galimybę įtraukti „cron“ užduotis į šakninį „crontab“ failą. Bet čia yra galvosūkis - ar pridėjus savo „cron“ užduotis prie šaknies „crontab“, ar tai neveikia jų „cron“ darbai kaip šakniniai? Na, čia ateina USERNAME lauko, kurį aptarėme aukščiau „cron“ komandos sintaksėje, svarba. Pavyzdžiui, toliau nurodyta komanda:

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

Vykdys kaip vartotojo „fosslinux“ cron darbas, o ne kaip pagrindinis vartotojas.

Išvada

Dabar turite aiškų „Cron“ užduočių naudojimo vadovą, kad automatizuotumėte įvairias jūsų sistemos užduotis. Tai neturėtų jūsų painioti su „Startup“ programomis. Norėdami išbandyti ir automatizuoti paprastus scenarijus, naudokite aukščiau pateiktus pavyzdžius. Laikui bėgant, galite sujungti specialius simbolius ir pakaitalus, kad atliktumėte daug kasdieniškesnių užduočių. Jei dar tik pradedate, būtų puiku perskaityti mūsų įrašą „bash“ scenarijų pamokoje su pavyzdžiais, kurie padės jums sukurti pirmąjį scenarijų.

Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...
Kaip pakeisti pelės žymeklio ir žymeklio dydį, spalvą ir schemą sistemoje „Windows 10“
„Windows 10“ pelės žymeklis ir žymeklis yra labai svarbūs operacinės sistemos aspektai. Tai galima pasakyti ir apie kitas operacines sistemas, taigi, ...