crontab

„Crontab“ sistemoje „Linux“

„Crontab“ sistemoje „Linux“
Atsiradus naujoms technologijoms, norime, kad viskas būtų automatizuota, įskaitant ir mūsų kompiuterines sistemas. Pavyzdžiui, kaip sistemos administratorius galime norėti, kad atsarginė kopija būtų vykdoma kiekvieną naktį 2:00 val. Tada koks yra kompiuterių tikslas, jei turime atsibusti kasdien 2:00 val. Ir rankiniu būdu paleisti komandas, kad inicijuotume atsarginę kopiją. Turėtų būti būdas, nurodantis sistemai automatiškai paleisti atsarginę kopiją tam tikru laiku. Laimei, „Linux OS“ siūlo „cron“ įrankį, leidžiantį automatizuoti užduotis konkrečiu laikotarpiu.

„Cron“ yra efektyvus ir populiarus komandinės eilutės įrankis, naudojamas planuoti daugybę užduočių nurodytu laiku be vartotojo sąveikos. Suplanuotos užduotys yra žinomos kaip „cron“ užduotys, o „crontab“ yra failo, kuriame yra „cron“ užduotys, sąrašas.

Šiame straipsnyje mes paaiškinsime įvairiais pavyzdžiais, kurie rodo, kaip galite redaguoti ir naudoti „crontab“ failą, norėdami suplanuoti užduotis „Debian 10“ sistemoje.

„Cron“ gali būti naudojamas automatizuoti užduotis šiais atvejais:

Sintaksė

Suprasti jo sintaksę lengviau dirbti su „cron“. Bendroji „cron“ naudojimo sintaksė yra:

* * * * / kelias / į / scenarijus.sh

Kiekvienas iš laukų atitinka šiuos dalykus:

Minutė (0–59) Valanda (0–24) Mėnesio diena (1–7) Metų mėnuo (1–12)
„Day_of_the_Week“ (0–6) komanda

„Cron“ diegimas

„Cron“ yra iš anksto įdiegtas „Debian 10“. Tačiau jei jūsų sistemoje trūksta, paleiskite šią komandą, kad ją įdiegtumėte:

$ sudo apt install cron

Peržiūrėti crontab

Norėdami peržiūrėti „crontab“ failą, naudokite šią komandą:

$ crontab -l

Norėdami peržiūrėti konkretaus vartotojo crontab failą, naudokite šią komandą:

$ sudo crontab -u vartotojas -l

Redaguoti crontab

Norėdami redaguoti dabartinio vartotojo crontab failą:

$ crontab -e

Norėdami redaguoti konkretaus vartotojo crontab failą:

$ sudo crontab -u vartotojas

Jei redaguojate crontab failą pirmą kartą, jūsų bus paprašyta pasirinkti redaktorių:

Pasirinkus redaktorių, pasirodys toks langas.

Pavyzdžiui, norite paleisti atsarginį scenarijų pavadinimu „atsarginė kopija.sh “, esančią dokumentų kataloge kasdien 2:00 val. Norėdami tai padaryti, savo crontab faile turėsite pridėti šią eilutę:

0 2 * * * / Dokumentai / atsarginė kopija.sh

Ankstesniame lange galite pridėti savo „cron“ užduotis po vieną. Kai tai padarysite, išsaugokite ir išeikite iš failo, tada visi „cron“ darbai bus automatiškai vykdomi nustatytu intervalu.

Pašalinkite crontab

Norėdami pašalinti „crontab“ failą, įveskite šią komandą terminale:

$ crontab -r

Dabar apžvelkime keletą „Linux“ mašinų „cron“ darbų pavyzdžių.

1. Kiekvieną minutę atlikite „cron“ darbą

Norėdami atlikti „cron“ užduotį kiekvieną minutę, į „crontab“ failą įtraukite šią eilutę:

* * * * * / kelias / į / scenarijus.sh

2. Atlikite „cron“ darbą kas 10 minučių

Norėdami suplanuoti „cron“ darbo vykdymą kas 10 minučių, pridėkite šią eilutę savo „crontab“ faile.

* / 10 * * * * / kelias / į / scenarijus.sh

3. Konkrečiais mėnesiais atlikite „cron“ darbą

Suplanuoti „cron“ darbą tam tikrais mėnesiais e.g. Kovo, rugpjūčio, gruodžio mėnesiais pridėkite „cron“ užduotį savo „crontab“ faile taip:

* * * sausis, gegužė, rug * / path / to / script.sh

4. Vykdykite „cron“ darbą pasirinktomis dienomis

Jei norėtumėte, kad jūsų darbas būtų atliktas pasirinktomis dienomis, tarkime, sekmadienį ir penktadienį 17 val., Jis turėtų atrodyti taip.

0 17 * * saulė, penktadienis / kelias / į / scenarijus.sh

5. Atlikite „cron“ darbą kasdien tam tikru laiku

Norėdami suplanuoti „cron“ darbo vykdymą kasdien konkrečiu laiku, tarkime, 3 val., Pridėkite šią eilutę savo „crontab“ faile.

0 3 * * * / kelias / į / scenarijus.sh

6. Konkrečią dieną atlikite „cron“ darbą

Norėdami suplanuoti „cron“ darbą vykdyti konkrečią dieną, tarkime, kiekvieną sekmadienį, pridėkite šią eilutę savo „crontab“ faile.

0 0 * * SUN / path / to / script.sh

Darbas vyks kiekvieną sekmadienį 00:00 val.

7. Vykdykite kelias užduotis atlikdami vieną užduotį

Norėdami suplanuoti kelias užduotis viename „cron“ darbe, pridėkite visus scenarijus „crontab“ faile, atskirdami juos kabliataškiu.

* * * * * / kelias / į / scenarijus1.sh; / path / to / script2.sh

8. Vykdykite „cron“ darbą kiekvienas darbo diena

Norėdami suplanuoti „cron“ darbo vykdymą kiekvieną savaitės dieną, ty nuo pirmadienio iki penktadienio, turėsite pridėti šią eilutę savo crontab faile.

0 0 * * 1-5 / kelias / į / scenarijus.sh

Darbas vyks kiekvieną darbo dieną 00:00 val.

9. Atlikite „cron“ darbą du kartus per dieną

Norėdami suplanuoti darbą vykdyti du kartus per dieną e.g. 6 ir 15 val. turėsite pridėti šią eilutę savo crontab faile:

0 6,15 * * * / kelias / į / scenarijus.sh

10. Kiekvieną valandą atlikite „cron“ darbą

Norėdami suplanuoti „cron“ užduotį vykdyti kas valandą 0 minutę, savo crontab faile turėsite pridėti šią eilutę:

0 * * * * / kelias / į / scenarijus.sh

Pavyzdžiui, jei dabartinis laikas yra 14 val., Darbas vyks 15:00, 16:00 ir pan.

11. Vykdykite „cron“ darbą kas 3 valandas

Norėdami suplanuoti „cron“ darbo vykdymą kas 3 valandas 0 minutę, turėsite pridėti šią eilutę savo crontab faile:

0 * / 3 * * * / kelias / į / scenarijus.sh

Pavyzdžiui, jei dabartinis laikas yra 14 val., Darbas vyks 17:00, 20:00 ir pan.

12. Vykdykite „cron“ darbą kiekvieno mėnesio pirmą 16 val

Jei norite suplanuoti, kad darbas bus vykdomas kiekvieno mėnesio pirmą dieną 16:00, turėsite pridėti šią eilutę savo crontab faile:

0 16 1 * * / kelias / į / scenarijus.sh

Stygos „Crontab“

Taip pat galite naudoti šias eilutes, o ne ilgas pasikartojančias komandas.

@ kas valandą - vykdykite „cron“ darbą kas valandą, t.e. „0 * * * *“
@ vidurnaktis - kiekvieną dieną vykdykite darbą.e. „0 0 * * *“
@ kasdien - tas pats kaip vidurnaktis
@ kas savaitę - kiekvieną savaitę vykdykite „cron“ darbą, t.e. „0 0 * * 0“
@ kas mėnesį - kiekvieną mėnesį atlikite „cron“ darbą, t.e. „0 0 1 * *“
@ kasmet - kiekvienais metais atlikite „cron“ darbą, t.e. „0 0 1 1 *“
@ kasmet - tas pats, kas @metai
@ reboot - paleiskite „cron“ darbą kiekviename įkrovime

Pavyzdžiui, norėdami paleisti „cron“ darbą kiekvieną dieną per pirmąją minutę ir pirmąją valandą, pridėkite šią eilutę:

@ kasdien / kelias / į / scenarijus.sh

Pavyzdžiui, norint paleisti „cron“ užduotį kiekvieną kartą perkraunant serverį:

@reboot / path / to / script.sh

Tai viskas, kas yra! Šiame straipsnyje mes sužinojome, kaip automatizuoti įvairias užduotis naudojant „Crontab“ Debian sistemoje. Naudodamiesi aukščiau pateiktais pavyzdžiais, galite suplanuoti bet kokio pobūdžio darbo inicijavimą be vartotojo sąveikos.

Kaip užfiksuoti ir perduoti savo žaidimų sesiją sistemoje „Linux“
Anksčiau žaidimai buvo laikomi tik pomėgiu, tačiau laikui bėgant lošimų pramonė labai augo technologijų ir žaidėjų skaičiaus atžvilgiu. Žaidimų audito...
Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...
Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...