Išsamus atsarginių kopijų kūrimo ir automatinių užduočių planavimo vadovas naudojant „Cron“ sistemoje „Linux“

Paskutiniai pakeitimai: 28 rugpjūtis 2026
  • Kaip veikia „crond“ demonas ir kaip užduotys tvarkomos naudojant „crontab“ failą.
  • Detali sintaksė ir specialiųjų simbolių naudojimas tiksliam vykdymui programuoti.
  • Atsarginių kopijų scenarijų su TAR įdiegimas ir sistemos priežiūros automatizavimas.
  • Šiuolaikinės alternatyvos, tokios kaip sisteminiai laikmačiai ir grafiniai procesų valdymo įrankiai.

Šiuolaikinio duomenų centro infrastruktūra su serverių lentynomis „Linux“ talpinimui.

Nesvarbu, ar neseniai perėjote prie „Linux“, ar jau kurį laiką valdote savo serverį, tikriausiai supratote, kad kai kurias užduotis atlikti rankiniu būdu yra tikras vargas. Nuo laikinų failų valymo iki duomenų saugumo užtikrinimo naudojant atsargines kopijas – šių procesų automatizavimas yra labai svarbus norint išvengti nusivylimo ir užkirsti kelią paprastos klaidos, kuri sunaikintų mėnesio darbą.

Šiai problemai išspręsti UNIX tipo sistemos turi legendinį įrankį, vadinamą „Cron“. Iš esmės tai tarsi komandų žadintuvas , kuris paleidžia scenarijus ar programas tiksliai jūsų nurodytu laiku, veikdamas fone, kol geriate kavą arba visiškai pamirštate apie užduoties egzistavimą.

Sistemos administratorius stebi realiuoju laiku vykstančius procesus kelių sričių „Linux“ terminale.
Susijęs straipsnis:
Išsamus išteklių stebėjimo vadovas sistemoje „Linux“: nuo viršaus iki apačios

Kas tiksliai yra „Cron“ ir kaip jis juda?

„Linux“ terminalo ekranas, kuriame rodoma suplanuotų užduočių konfigūracija „crontab“ faile.

Kalbėdami apie „Cron“, iš tikrųjų turime omenyje demoną, vadinamą „crond“ . „Linux“ pasaulyje demonas yra tiesiog procesas, kuris veikia fone be vartotojo sąsajos nuo sistemos paleidimo momento. Jo darbas yra monotoniškas, bet gyvybiškai svarbus: kiekvieną minutę jis tikrina konfigūracijos failus, kad pamatytų, ar yra suplanuotų „cron“ užduočių, kurios atitiktų dabartinį laiką ir datą.

Kad viskas vyktų sklandžiai, labai svarbu tinkamai nustatyti sistemos laikrodį. Jei laikas arba laiko juosta neteisingi, atsarginės kopijos bus kuriamos netinkamu laiku. Todėl rekomenduojama naudoti komandą „timedatectl“ , kad patikrintumėte, ar sinchronizavimas su NTP serveriais yra teisingas, ir užtikrintumėte, kad sistemoje nėra jokių laiko neatitikimų.

„Crontab“ failas: kur vyksta magija

Jei „Cron“ yra variklis, „ crontab“ yra instrukcijų žemėlapis . Tai tekstinis failas, kuriame užrašome, ką ir kada norime paleisti. Įdomu tai, kad nėra tik vieno failo; sistema turi visuotinį „crontab“ failą adresu /etc/crontab, bet kiekvienas vartotojas gali turėti savo , todėl skirtingi žmonės gali planuoti savo užduotis nereikalaudami nuolatinių administratoriaus teisių.

Docker Composite namų laboratorija
Susijęs straipsnis:
„Docker Composite“ namų laboratorijoje: struktūra, profiliai ir geriausia praktika

Šioms užduotims valdyti naudojame komandą `crontab -e` redagavimui, `crontab -l` aktyvių failų sąrašui pateikti ir `crontab -r`, jei norime viską ištrinti ir pradėti nuo nulio. Tai labai aiškus būdas organizuoti sistemos priežiūrą neliečiant svarbių branduolio failų.

  „Linux“ naudotojų nusivylimai naudojant „Windows 11“

Cron sintaksės analizė

Darbo stalas su nešiojamuoju kompiuteriu ir išoriniais standžiaisiais diskais duomenų atsarginėms kopijoms.

Norėdami suplanuoti užduotį, turite laikytis labai griežtos penkių laiko laukų tvarkos, po kurios eina komanda. Seka yra: minutė, valanda, mėnesio diena, mėnuo ir savaitės diena . Pavyzdžiui, jei įvesime 0 19 * * 0, nurodome sistemai aktyvuoti kiekvieną sekmadienį 7 val.

Kad mūsų gyvenimas būtų lengvesnis, yra specialieji personažai kurie suteikia mums visišką kontrolę. Žvaigždutė (*) reiškia „visada“ arba „bet kokia reikšmė“, o pasvirasis brūkšnys (/) naudojamas intervalams apibrėžti, pvz. */10 paleisti ką nors kas dešimt minučių. Brūkšnelis (-) apibrėžia diapazonus, o kablelis (,) leidžia nurodyti konkrečias reikšmes. Be to, yra iš anksto nustatyti spartieji klavišai pvz., @daily, @weekly arba @reboot, kurie supaprastina rašymą dažniausiai pasitaikančiais atvejais.

Pirmosios atsarginės sistemos kūrimas

Viena naudingiausių programų yra duomenų atsarginių kopijų kūrimas. Tam idealus pasirinkimas yra TAR įrankis . Galime sukurti „Bash“ skriptą, kuris supakuoja mūsų failus, priskiria dabartinę datą failo pavadinimui ir, svarbiausia, pašalina nereikalingus aplankus, pvz., talpyklą ar šiukšliadėžę, kad atsarginė kopija netaptų gigabaitais nereikalingos informacijos.

namų laboratorijos energijos suvartojimo matavimas
Susijęs straipsnis:
Kaip išmatuoti ir optimizuoti namų laboratorijos elektros energijos suvartojimą

Kai scenarijus sukurtas (pavyzdžiui, aplanke /usr/local/bin/mybackup) ir vykdymo teisės suteiktos naudojant komandą „chmod +x“ , tiesiog pridėkite eilutę prie šakninio „crontab“. Tokiu būdu serveris automatiškai atliks atsarginę kopiją, o jūs netgi galite suplanuoti scenarijų taip, kad jis automatiškai ištrintų senesnes nei dviejų savaičių atsargines kopijas, kad neužpildytų standžiojo disko.

  Struktūrinis programavimas: viskas, ką reikia žinoti

Išplėstinis administravimas ir absoliutūs keliai

Sistemų administratorius dirba su nešiojamuoju kompiuteriu profesionalioje serverių patalpoje.

Labai dažna pradedančiųjų klaida – santykinių kelių naudojimas scenarijuose. „Cron“ veikia labai ribotoje aplinkoje ir nežino jūsų vietos, todėl visada turėtumėte naudoti absoliučius kelius (pvz., /home/user/script.sh, o ne ./script.sh). Priešingu atveju komanda tyliai nepavyks įvykdyti, o kai reikės atkurti duomenis, jūsų laukia nemaloni staigmena.

Norint išvengti aklo įėjimo, labai svarbu nukreipti išvestį į žurnalusNaudojant operatorių >>> /var/log/backup.log 2>&1Galime išsaugoti ir sėkmes, ir nesėkmes faile. Tokiu būdu, jei kas nors nutiktų ne taip, mums tereikėtų peržiūrėti žurnalo failą, kad tiksliai žinotume, kas nutiko, ir nereikėtų spėlioti.

Poveikis našumui ir geriausia praktika

Nerekomenduojama perkrauti sistemos užduotimis, kurios vykdomos kas sekundę, nes tai gali sukelti procesoriaus ir RAM naudojimo šuolius . Protingiausias būdas yra planuoti daug išteklių reikalaujančius procesus, pvz., duomenų bazių atnaujinimus ar dideles atsargines kopijas, ankstyvomis ryto valandomis arba ne piko metu, kad nebūtų paveiktas vartotojas.

Nemokamas siuntimas MVĮ
Susijęs straipsnis:
Nemokama el. pašto rinkodara MVĮ: pagrindiniai įrankiai ir strategijos

Norint išvengti vienos užduoties persidengimo su kita, jei pirmoji užtrunka ilgiau nei tikėtasi, rekomenduojama naudoti „flock“ , kuris neleidžia vienu metu vykdyti to paties scenarijaus. Be to, norėdamas apriboti, kas gali naudoti „Cron“, administratorius gali sukonfigūruoti failus „cron.allow“ ir „cron.deny“ , užtikrindamas, kad tik įgalioti darbuotojai galėtų planuoti užduotis serveryje.

Šiuolaikinės alternatyvos: „Systemd“ laikmačiai ir kita

Nors „Cron“ yra klasikinis įrankis, šiuolaikinės sistemos naudoja „systemd“ laikmačius . Jie yra daug galingesni, nes leidžia valdyti priklausomybes, efektyviau tvarkyti klaidas ir vykdyti užduotis pagal sistemos įvykius (pvz., paleidimą), o ne tik laikrodį. Jie konfigūruojami naudojant .timer ir .service failus, esančius /etc/systemd/system/.

  Viskas apie objektinio programavimo paveldėjimą

Tiems, kuriems nepatogu naudotis terminalu, yra grafinių parinkčių, tokių kaip „KCron“ (skirta KDE), arba žiniatinklio įrankių, tokių kaip „Webmin“. Kitose operacinėse sistemose, tokiose kaip „macOS“, naudojama „launchd“ , kuri siūlo daug gilesnę integraciją su „Apple“ ekosistema ir leidžia automatiškai paleisti iš naujo nepavykusias užduotis.

Kiti realaus pasaulio naudojimo atvejai serveriuose

Be atsarginių kopijų kūrimo, „Cron“ yra puikus įrankis sistemos švarai palaikyti . Galite suplanuoti užduotis, kad kas savaitę būtų ištrinti seni žurnalai arba paleista iš naujo paslaugos, kurios linkusios strigti. Tai taip pat svarbu duomenų sinchronizavimui naudojant „rsync“ tarp skirtingų mašinų, užtikrinant, kad informacija būtų atkartojama be žmogaus įsikišimo.

Žiniatinklio aplinkoje jis nuolat naudojamas masiniams el. laiškams siųsti , kasdienėms pardavimo ataskaitoms generuoti arba puslapio talpyklai atnaujinti. Iš esmės bet koks pasikartojantis ir nuspėjamas veiksmas gali ir turėtų būti deleguotas „Cron“, siekiant optimizuoti administratoriaus produktyvumą.

Įvaldę automatizavimą „Linux“ sistemoje, rankiniu būdu valdomą serverį galite paversti autonominiu ir efektyviu įrenginiu. Derindami „Bash“ scenarijų naudojimą, „crontab“ tikslumą ir žurnalų stebėjimą, galite užtikrinti, kad priežiūra, saugumas ir duomenų vientisumas būtų tvarkomi automatiškai, taip sutaupant laiko ir smarkiai sumažinant žmogiškųjų klaidų tikimybę infrastruktūros valdyme.