Kuidas Linuxis Crontabiga automaatseid ülesandeid ajastada

  • Cron ja crontab võimaldavad teil Linuxis automaatseid ülesandeid ajastada, määrates täpsed ajad viie ajavälja ja käsu abil.
  • Süsteemi aja, tee (PATH), õiguste ja keskkonnamuutujate kontrollimine on oluline, et tagada ülesannete korrektne ja vaiksete vigadeta töötamine.
  • Croni tegevus võib mõjutada jõudlust ning konfliktide ja ülekoormuse vältimiseks on vaja häid tavasid, logimist ja jälgimist.
  • On olemas tööriistu ja alternatiive, näiteks Anacron, Fcron või launchd, mis laiendavad programmeerimisvõimalusi klassikalisest cronist kaugemale.

Automatiseeritud ülesanded Crontabiga Linuxis

Kui töötad Linuxiga, siis varem või hiljem vajad, et süsteem teeks asju sinu eest ära ilma, et peaksid klaviatuuri taga olema: öised varukoopiadajutiste failide puhastamine, aruannete genereerimine või andmete sünkroonimineKõige selle juures on Unixi süsteemide vana sõber endiselt kuningas: cron.

Kuigi see võib esmapilgul tunduda pisut hirmutav, on cron ja selle crontab-fail palju lihtsamad, kui paistab. Mõne selge kontseptsiooni abil saate... ajastada väga võimsaid ja paindlikke automatiseeritud ülesandeidSee kehtib nii kasutaja kui ka süsteemi tasandil. Järgmistes ridades näete, kuidas cron töötab, kuidas crontabi seadistada, milliseid üksikasju jälgida (süsteemi aeg, õigused, tee jne), tüüpilisi vigu, jõudluse mõju, alternatiive ja palju muud.

Mis on cron ja miks see Linuxis nii oluline on?

Unixi-laadsetes süsteemides cron on deemon, mis töötab taustal alates süsteemi käivitamisestSelle missioon on väga lihtne: iga minut kontrollib see, kas selleks hetkeks on ajastatud ülesandeid, ja kui on, siis täidab need. Ei midagi enamat ega vähemat.

Mis on Oreaon 10?
Seotud artikkel:
Oreon 10: mida see Linuxi distributsioon pakub, versioonid ja eelised

Selleks, et see oleks loogiline, on oluline, et süsteemil oleks kuupäev, kellaaeg ja ajavöönd on õigesti konfigureeritudKui teie kell on kiire, aeglane või vales ajavööndis, siis teie cron-töödel saab aeg otsa. Süsteemi aega saate kontrollida järgmiselt:

timedatectl

See käsk näitab, kas kell on sünkroniseeritud, millist ajavööndit kasutatakse ja kas NTP-server on aktiivne. Kui näete, et ajavöönd on vale, saate selle näiteks Euroopa/Madridi ajavööndiks muuta järgmiselt:

timedatectl set-timezone Europe/Madrid

Linuxi distributsioonid on tavaliselt eelkonfigureeritud NTP serverid kella sünkroonimiseks. Kui teil on vaja neid kohandada või teisi lisada, tehakse seda näiteks NTP-teenuse ja selle konfiguratsioonifaili kaudu. /etc/ntp.conf, olenevalt distributsioonist ja konkreetsest NTP-deemonist.

Sõltuvalt jaotusest käivitatakse cron-teenus sellistelt marsruutidelt nagu /etc/rc.d/ o /etc/init.dKuigi tänapäeval hallatakse seda peaaegu alati systemd abil. Deemon kontrollib faile, näiteks / etc / crontab, / var / spool / cron või failid sees /etc/cron.d iga minut, et näha, kas on pooleliolevaid ülesandeid.

Crontab: croni tööülesannete tabel

Croni ajastamise tuum on crontab-fail, ülesannete tabel, kus on määratletud käsud ja nende ajakavaIgal kasutajal saab olla oma crontab, seega ei pea isiklike ülesannete automatiseerimiseks olema root.

Kasutaja crontabiga töötamiseks kasutate käsku ennast. crontabSelle abil saate ajastatud ülesannete loomine, muutmine, loetlemine või kustutamine ilma süsteemifaile otseselt puudutamata.

Crontabi põhiline üherealine süntaks

Iga crontab'i rida vastab cron-tööle ja järgib seda viie ajatemplivälja ja käsu mustrit:

minuto hora día_del_mes mes día_de_la_semana comando

Iga väli saab võtta teatud väärtusi või erimärke. Tavalised vahemikud on järgmised ja neid on oluline mõista, sest need on programmeerimise tuum:

  • Minutväärtused vahemikus 0 kuni 59.
  • mägiväärtused vahemikus 0 kuni 23.
  • Kuu päevväärtused vahemikus 1 kuni 31.
  • Kuu: väärtused 1 kuni 12 või mõnes süsteemis lühendatud kuude nimed.
  • Nädalapäev: väärtused vahemikus 0 kuni 7, kus 0 ja 7 tähistavad tavaliselt pühapäeva; võib kasutada ka lühendatud ingliskeelseid nimetusi (mon, tue…).

Pärast neid viit põldu tuleb käsk täitaSee võib ulatuda süsteemi binaarfailist shelliskripti, Pythoni, PHP-ni jne. Terminalis saab kirjutada kõike, mida soovitakse, pidades silmas piiratud keskkonda, milles cron töötab.

Erimärgid cron-avaldistes

Selleks, et vältida hullumeelset ridade kirjutamist, toetab cron mitmeid modifikaatorid ja erimärgid mis annab programmeerimisele palju rohkem võimsust:

  • *Koolon (:) tähendab selles väljal „kõiki väärtusi“. Näiteks * kuuväljal tähendab kõiki kuid.
  • ,: eraldab väärtuste loendit. Näiteks kui kuu päeval on 1,15, siis ülesanne käivitatakse 1. ja 15. kuupäeval.
  • -: tähistab pidevat vahemikku. Näiteks nädalapäeva 1–5 vastab vahemikule esmaspäevast reedeni.
  • /: kasutatakse sammu või intervalli tähistamiseks, tavaliselt tärni * kõrval (näiteks */10 minutites tähendab iga 10 minuti järel).
  • vahemikud eranditegaVahemike, loendite ja sammude kombineerimise abil saate luua keerukaid reegleid, näiteks käivitada ülesande teatud minutite vahemikus, välja arvatud kindel minut.

Lisaks on crontab-failides väga tavaline kasutada järgmist: naelamärk (#) kommentaaride kirjutamiseksCron ignoreerib kõiki ridu, mis algavad märgiga #, kuid see on kasulik selgitavate märkuste lisamiseks iga ülesande tegevuse kohta.

Eriaruanded @yearlylt, @dailylt ja ettevõttelt

Sagedaste juhtumite korral võimaldab cron teil kasutada lühendatud märksõnad mis asendavad viit ajavälja. Need hõlbustavad oluliselt faili lugemist:

  • @taaskäivitus: käivitab käsu iga kord, kui süsteem käivitub, üks kord.
  • @aasta o @annually: samaväärne väärtusega „0 0 1 1 *“, käivitatakse üks kord aastas.
  • @kuuline: võrdne väärtusega „0 0 1 * *“, käivitatakse see iga kuu esimesel päeval südaööl.
  • @nädalane: samaväärne väärtusega „0 0 * * 0”, käivitatakse kord nädalas.
  • @päevaselt y @kesköö: mõlemad on „0 0 * * *”, iga päev kell 00:00.
  • @tunnis: vastab „0 * * * *”, iga tunni esimesele minutile.

Need ketid on väga mugavad, aga tasub meeles pidada, et Need ei luba teil valida muud konkreetset aega peale vaikeseade.Näiteks kui soovite, et midagi töötaks iga päev kell 13:00, peate @daily asemel kasutama standardset numbrilist vormi ("0 13 * * *").

Kuidas luua ja muuta oma kasutaja crontab'i?

Kasutaja ülesannete haldamise õige viis on käsu abil crontab -eSee avab praeguse kasutaja crontab'i vaikeredaktoris (nano, vim jne), et saaksite ridu lisada või muuta.

Esimesel kasutuskorral süsteem tavaliselt küsi, millist redaktorit sa kasutada tahadSellest ajast alates avaneb iga kord, kui käivitate crontab -e, sama redaktor faili praeguse sisuga, sealhulgas distributsiooni loodud abikommentaaridega.

Kui ülesanded on lisatud ja fail salvestatud, siis cron-deemon laadib uued sätted automaatselt uuestiTeenust pole vaja taaskäivitada. Ajastatud toimingute kontrollimiseks saate oma crontab'i loetleda järgmisega:

crontab -l

Kui soovite tühjenda oma crontab täielikult, saate seda teha järgmiselt:

crontab -r

Samuti on olemas variant crontab -r -iEnne kustutamist küsib see kinnitust, mis on tungivalt soovitatav, et vältida kõigi konfigureeritud ülesannete kogemata kustutamist.

Praktiline näide: skripti loomine ja selle ajastamine croniga

Selle kõige toimimise nägemiseks saame ette valmistada näidisskripti ja lasta cronil see automaatselt käivitada. Kujutage ette, et loote faili nimega päring.sh oma kodukataloogis väikese käsuga:

nano consulta.sh

Sisse võiks panna midagi sellist:

#!/bin/bash
# script de ejemplo
sudo ls -l / > archivoResultado.txt

See väike skript See loetleb juurkataloogi sisu ja kirjutab selle tekstifaili. nimega archivoResultado.txt. Selleks, et cron saaks seda probleemideta käivitada, on oluline anda sellele käivitamisõigused:

chmod ugo+x consulta.sh

Nüüd on aeg see crontabi lisada. Käivita:

crontab -e

Ja lisate näiteks rea, et see käivituks iga päev kell 19.00:

00 19 * * * usuario /ruta/completa/consulta.sh

Samal ajal näitavad väljad minut 0, tund 19, mis tahes kuu päev, mis tahes kuu, mis tahes nädalapäevJärgmisena määratakse kasutaja (süsteemse crontabi puhul) ja seejärel skripti tee. Teised tüüpilised näited on järgmised:

  • Igal pühapäeval kell 19:00:
    00 19 * * 0 usuario /ruta/consulta.sh
  • Igal aastal 4. veebruaril kell 19.00:
    00 19 4 2 * usuario /ruta/consulta.sh

crontab käskude valikud ülesannete haldamiseks

Automatiseeritud ülesanded Crontabiga Linuxis

Binaarne crontab See pole mõeldud ainult toimetamisülesannete jaoks, vaid ka hallata teiste kasutajate faile või laadida faile üles kindlatelt radadeltKõige sagedamini kasutatavad valikud on:

  • crontab archivo: asendab kasutaja praeguse crontab'i määratud faili sisuga.
  • crontab -e: avab praeguse kasutaja crontab'i vaikeredaktoris.
  • crontab -l: kuvab ekraanil kõik sellele kasutajale hetkel konfigureeritud ülesanded.
  • crontab -r: kustutab kasutaja kogu crontab'i (ilma kinnituseta, välja arvatud juhul, kui kasutatakse -i).
  • crontab -c dir: võimaldab teil määrata kataloogi, kuhu crontab-failid salvestatakse, kui selleks on olemas õigused.
  • crontab -u usuario: haldab teise kasutaja crontab'i (nõuab juurõigusi).

Samuti on tavaline rääkida sellest, crontab -h , et näha kiirabi, kus on üksikasjalikult kirjeldatud kõiki saadaolevaid lippe.

Keskkond ja muutujad croni täitmisel

Mis sageli peavalu tekitab, on see cron. See ei käivita käske samas keskkonnas kui teie interaktiivne seanss.See tähendab, et see ei lae teie .bashrc või .profile faile, kui te seda just ei sunni. Vaikimisi defineerib see mõned muutujad, näiteks:

  • ESILEHT: crontabi käitava kasutaja kodukataloog.
  • LOGI NIMI y USER: kasutajanimi.
  • SHELL: käskude tõlgendamiseks kasutatav kest, tavaliselt /bin/sh.
  • PATH: põhiline binaarne otsingutee, sageli mõnevõrra piiratud, näiteks /usr/bin:/bin.

Kui tugined oma PATH-is käskudele, mida cron ei leia, tekivad vaiksed vead. Seetõttu on see väga soovitatav. Kasutage oma skriptides absoluutseid teid (näiteks /usr/bin/python lihtsalt python asemel) või defineeri PATH crontabis endas uuesti:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Samuti saate muuta kasutatavat kesta ja lisada oma laaduri. .bashrc Vajadusel kohanda oma crontab'i algust järgmiselt:

SHELL=/bin/bash
. $HOME/.bashrc

Mis puutub väljundisse, siis kuna need on shellikäsud, Saate STDOUT-i ja STDERR-i ümber suunata täpselt nagu terminalisNäiteks ülesande meilide või logide genereerimise takistamiseks tehke järgmist.

* * * * * comando > /dev/null 2>&1

Või väljundi kogumiseks ülesandele omasesse logifaili, mis on väga kasulik silumiseks ja auditeerimiseks:

*/10 * * * * /ruta/script.sh >> /var/log/mis_cron.log 2>&1

Croni ligipääsu kontroll: cron.allow ja cron.deny

Paljudes süsteemides kontrollitakse failide kaudu, kes saab ülesandeid ajastada. /etc/cron.allow y /etc/cron.denyNeid faile kasutatakse crontab-käsule juurdepääsu piiramiseks või andmiseks.

Loogika on lihtne: kui see on olemas cron.allowAinult seal loetletud kasutajad saavad croni kasutada; kui see ainult eksisteerib cron.denyKõik peale loetletute on lubatud. Kui mõlemad on olemas ja kasutaja esineb mõlemas, cron.allow'l on prioriteetSeega saab see kasutaja crontabi kasutada.

Näiteks saate blokeerida kõik ja seejärel lubada ainult konkreetse kasutaja, kasutades midagi sellist:

echo ALL | sudo tee -a /etc/cron.deny
echo ishmael | sudo tee -a /etc/cron.allow

Isegi sudo õigustega, kui kasutaja on nende failide kohaselt keelatud, Sa ei saa muuta ei oma ega teiste crontab'i.ja saate teate, mis näitab, et te ei saa crontab programmi kasutada.

Crontabi tüübid: süsteem ja kasutaja

Tüüpilisel serveril on kaks konfiguratsioonitasandit: ühelt poolt on olemas süsteemi crontabja teisest küljest kasutaja crontabid isiklik. Mõlemad kasutavad sarnast süntaksit, kuid neid salvestatakse ja hallatakse erinevalt.

  • Süsteemi Crontab (UNIX/Linux): tavaliselt leidub /etc/crontab ja failides all /etc/cron.dSelle muutmiseks on vaja juurõigusi ja seda kasutatakse tavaliselt kriitiliste teenuste, globaalsete hooldusülesannete, logide roteerimise jms jaoks. Siinsed read sisaldavad lisavälja kasutajaga, kelle all käsku täidetakse.
  • Kasutaja crontabIgal kontol saab olla üks, millele pääseb ligi käsuga crontab -e. Need salvestatakse kataloogidesse, näiteks / var / spool / cron o /var/spool/cron/crontabs olenevalt distributsioonist. Neid ei muudeta otse; neid muudetakse crontab käsuga ja need käivitatakse need loonud kasutaja õigustega.

Tänu sellele duaalsusele Iga kasutaja saab oma tavapäraseid ülesandeid eraldi automatiseerida., samal ajal kui administraator haldab süsteemi üldist ajakava.

Croni tööde logid ja väljund

Kui ajastatud ülesandega midagi valesti läheb, on oluline teada, kust otsida. Sõltuvalt süsteemi konfiguratsioonist... Croni väljund võib minna süsteemilogi, spetsiaalsesse faili või kohalikku meilijärjekorda..

Linuxi käsud riistvarateabe saamiseks (võrdlus Windowsiga)
Seotud artikkel:
Linuxi käsud riistvarateabe saamiseks (võrdlus Windowsiga)

Paljudes distributsioonides logitakse cron-deemoni tegevus sellistesse failidesse nagu /var/log/cron o / var / log / syslogSeal näete, milliseid käske käivitatakse, millal ja kas esineb mingeid põhilisi vigu. See on mõnevõrra mürane logi, kuna see segab süsteemisündmusi, kuid selliste tööriistadega nagu grep Croniga seotud kirjeid saab hõlpsalt filtreerida.

Paigaldamisel MTA (postiedastusagent) nagu postfix või sendmailVaikimisi saadab cron iga ülesande väljundi (stdout ja stderr) selle käivitanud kasutaja kohalikku postkasti. See järjekord asub tavaliselt kaustas /var/spool/mail/usuarioSaate seda lugeda selliste tööriistadega nagu post x kasutades käsku mail.

Kui soovite käitumist kohandada, saate määratleda keskkonnamuutuja MAILTO oma crontab'i alguses. Näiteks:

MAILTO="tu.correo@ejemplo.com"

Sellega saadetakse kõik selle crontabi ülesannete väljundid sellele aadressile, eeldusel, et server on õigesti konfigureeritud välise meili saatmiseks. Kui paned tühi MAILTO (MAILTO=""), cron loobub kogu väljundist ja ei genereeri e-kirju.

Croni mõju süsteemi jõudlusele

Kuigi cron ise tarbib väga vähe ressursse, võib selle väärkasutamine põhjustada Protsessori äkilised pinged, ketta või võrgu küllastusLõppkokkuvõttes sõltub kõik sellest, kui palju töid ja kui tihti te ette võtate.

Kui planeerite samale ajale palju nõudlikke ülesandeid, võib süsteem märkimisväärselt aeglustuda: suur protsessori ja muutmälu kasutus, kettakonflikt või ribalaius Võivad esineda suured andmeedastused. Lisaks võivad mitmed samaaegsed ülesanded, mis pääsevad ligi samadele failidele või andmebaasidele, põhjustada konflikte ja aeglustumist.

Kui on töid, mis võrku tõmbavad – näiteks kaugvarukoopiate sünkroonimine— API-päringud või massilised allalaadimised — võite märgata ka pingi ja üldise latentsuse suurenemineeriti piiratud ribalaiusega keskkondades.

Head tavad mõju minimeerimiseks

Croni ärakasutamiseks ilma masinat koormamata tasub järgida mõningaid reegleid väga lihtsad strateegiad:

  • Jaotage ülesanded, eriti rasked ülesanded, erinevatele aegadele, vältides kasutajate või teenuste tipptunde.
  • Kasutage selliseid tööriistu nagu kena Mõne pikalt kestva ülesande protsessori prioriteedi vähendamiseks toimige järgmiselt.
    0 3 * * * nice -n 19 /ruta/script.sh
  • Kasutage ära selliseid kommunaalteenuseid nagu cpulimit Kui teil on vaja piirata croni käivitatud protsessi protsessori kasutamise protsenti.
  • Kombineeri cron koos kari või muud blokeerimismehhanismid sama skripti samaaegse käivitamise vältimiseks (väga kasulik varundamise või hooldustööde puhul).

Samuti on väga huvitav kasutada croni selleks, et parandada süsteemi enda jõudlustVahemälu ja ajutiste failide perioodiline puhastamine, mitteaktiivsete rakenduste sulgemine, protsessori, muutmälu ja ketta kasutuse jälgimine logides kitsaskohtade tuvastamiseks jne.

Croniga ajastamise tavalised vead ja kuidas neid vältida

Igaüks, kes on mõnda aega cron-töödega tegelenud, teab, et neid on mitmeid tüüpilised vead, mis lõpuks korduvadNende kontrolli all hoidmine säästab teid paljude katse-eksituse meetodite peale kulunud tundidest.

Üks levinumaid on seotud sellega, Piiratud PATH cron-keskkonnasKäske nagu git, python või php ei pruugita leida, kui te ei määra täielikku teed või kui te ei lisa crontabi algusesse PATH-i. Lahendus on selge: kasutage absoluutseid teid või defineerige PATH selgesõnaliselt uuesti.

Teine klassikaline viga on unustamine skripti käivitamise õigusedKui fail ei ole käivitatav või cron'i kasutajal pole sellele õigusi, siis ülesanne ei käivitu kunagi. Soovitatav on kontrollida seda käsuga `ls -ly`; vajadusel kasutage käsku `chmod +x /path/to/script.sh`.

Küsimus privileegidCron käivitab ülesandeid selle kasutaja õigustega, kes need konfigureeris; kui vajate toiminguid, mis nõuavad root'i, peaksite kaaluma skripti sees sudo kasutamist (koos kõigi asjakohaste turvameetmetega) või ülesande viimist root crontab'i.

Lõpuks on paljud probleemid tingitud üleprogrammeerimine (liiga palju sagedasi ülesandeid), kasulike logide puudumine või teavituste puudumine. Minimaalse logide ja teadete süsteemi loomine – näiteks väliste teenustega nagu Healthchecks.io – aitab tuvastada cron-töö töötamise lakkamise enne, kui on liiga hilja.

Välised tööriistad mugavamaks töötamiseks croniga

Croni süntaksiga ei ole alati mõtet käsitsi maadlema hakata. Saadaval on mitu veebiressurssi. Tööriistad, mis genereerivad cron-avaldisi, valideerivad reegleid ja aitavad vigu siluda ilma et peaksite oma masinasse midagi installima.

  • Crontabi guruVäga kerge veebiredaktor, mis võimaldab teil kirjutada cron-avaldise ja vaadata selle tähendust lihttekstina („iga 15 minuti järel”, „pühapäeviti kell 03:00” jne). See toob esile ka süntaksivead ning kuvab näiteid ja näpunäiteid.
  • Croni töögeneraatorSee tööriist on loodud eelkonfigureeritud ülesannete loomiseks lihtsate vormide abil. See võimaldab valida tüüpilisi intervalle, neid kohandada ja tagastab kopeerimiseks valmis cron-rea.
  • EasyCron: võrguteenus, mis mitte ainult ei genereeri avaldisi, vaid ka täidab ülesandeid eemalt URL-e kutsudes vastavalt teie määratud ajakavale. Sisaldab juhtpaneeli, teostuslogisid ja meiliteavitusi tõrgete korral.
  • KDE Cron (KCron)KDE töölaudadesse integreeritud graafiline rakendus, mis pakub visuaalset liidest cron-ülesannete haldamiseks ilma käsurealt abi saamata. Väga kasulik neile, kes eelistavad failide redigeerimisele klõpsamist.
  • Croni tegijaVeebigeneraator, mis on tugevalt suunatud integratsioonile selliste teekidega nagu Quartz. See võimaldab teil luua keerukaid avaldisi ilma käsitsi tippimiseta, ideaalne neile, kes töötavad cron-põhiste süsteemidega, kuid arenduskeskkondadest.

Need utiliidid on eriti kasulikud siis, kui teil on vaja keerulised ajakavad või kui alustate ja soovite enne avaldise tootmisse võtmist veenduda, et olete sellest õigesti aru saanud.

Croni alternatiivid ja selle kasutamine teistes süsteemides

Kuigi cron on Linuxis ja Unixis de facto standard, on olemas ka alternatiivid, mis hõlmavad juhtumeid, kus cron jääb puudulikukssamuti samaväärseid lahendusi teistes operatsioonisüsteemides.

Unixi/Linuxi ökosüsteemist leiate selliseid tööriistu nagu:

  • AnacronMõeldud masinatele, mis pole terve päeva sisse lülitatud. Kui igapäevast tööd ei saanud seadme väljalülitamise tõttu täita, käivitatakse see uuesti sisselülitamisel.
  • FcronSarnaselt Anacroniga võimaldab see teil ülesandeid kuupäeva ja täpse kellaaja järgi kombineerida, ilma et arvuti peaks pidevalt aktiivne olema. Paljudes distributsioonides nõuab see tavaliselt lähtekoodi installimist ja kompileerimist.
  • cronSee tutvustab selliseid kontseptsioone nagu sildid ülesannete liigitamiseks, võrkude või erinevate kasutajarühmade haldamiseks suurema paindlikkusega, lisades turvalisust ja korraldust.
  • McCon: ühildub croniga, aga on võimeline määratlege ajakavad uuesti, luues töid alguspunktist uuestiTavaliselt paigaldatakse see ka eraldi ja ei kuulu enamiku süsteemide standardvarustusse.

Windowsil pole cron-töökohta kui sellist, kuid on olemas programme, mis täidavad väga sarnaseid funktsioone, mõnel neist on väga kasutajasõbralik graafiline liides: WinCron, VisualCron või täiustatud ülesannete ajastaja Need on näited planeerijatest, millel on palju valikuid ja mis on kohandatud Microsofti keskkonnale.

Kuigi cron on endiselt saadaval, soovitab Apple macOS-is kasutada käivitatud, selle teenuste haldussüsteem. launchd puhul on ülesanded defineeritud .plist (omaduste loend) failides, millel on palju juhtimisvõimalusi: Ebaõnnestunud ülesannete automaatne taaskäivitamine, keerulised täitmistingimused, täiustatud süsteemiintegratsioon ja täpne ajastamine StartCalendarIntervali abilMacis tõsiseks automatiseerimiseks tasub croni asemel valida launchd.

Cron ärikeskkondades ja keerukusaste

Ettevõttes on cron võimas liitlane vähendada korduvat tööd ja minimeerida inimlikke vigu. võimaldama Automatiseerige varundamine rsynci abil, ajastatud juurutused, igapäevaste või igakuiste aruannete genereerimine, serverite vaheline sünkroniseerimine, hooldusülesanded jne.

Kuigi tööriist ise on lihtne, Tegelik keerukus tuleneb kogunevate ülesannete hulgast ja tüübist.Keskkonda, kus on kümneid aheldatud skripte, kõrge täitmissagedus ja protsessidevahelised sõltuvused, võib olla keeruline hallata ilma hea dokumentatsiooni ja piisava jälgimiseta.

Sellistel juhtudel on oluline planeerida ülesannete sagedust nii, et ära kuluta ressursseTagage konfiguratsioonifailide turvalisus (pahatahtliku manipuleerimise vältimiseks) ja looge hoiatussüsteem, mis teavitab teid tõrgete korral. Vastasel juhul võib nii lihtne asi nagu igapäevane varundamine nädalateks märkamatult töötamast lakata.

Kiired meetodid failitüübi tuvastamiseks Windowsis ja Linuxis
Seotud artikkel:
Kuidas installida ja konfigureerida Windowsi alamsüsteemi Linux 2 jaoks (WSL2)

Lühidalt öeldes jäävad cron ja crontab iga Linuxi või Unixi süsteemi võtmekomponentideks. automatiseerida ülesandeid usaldusväärselt, paindlikult ja suhteliselt lihtsaltAjastussüntaksi mõistmise, täitmiskeskkonna (PATH, õigused, muutujad) eest hoolitsemise, jõudluse mõju kontrollimise ning logide, graafiliste tööriistade ja jälgimisteenuste abil saate muuta käputäie ridu tõeliseks automatiseeritud ülesannete võrgustikuks, mis säästab teie tööd tundide viisi ja hoiab teie süsteemid sujuvalt töös ilma, et peaksite iga päev nendega tegelema. Jaga infot ja teised kasutajad teavad, kuidas Linuxis Crontabiga automaatseid ülesandeid hallata.