crontab

Cron Jobsin täydellinen aloittelijoiden opetusohjelma

Cron Jobsin täydellinen aloittelijoiden opetusohjelma
Cron on hyödyllisin apuohjelma Linux- tai UNIX-tyyppisessä käyttöjärjestelmässä, joka sallii komentojen tai komentosarjojen suorittamisen tietyllä aikataululla ilman käyttäjän toimia. Ajoitetut komennot ja komentosarjat nimetään myös cron-töiksi. Sitä käytetään enimmäkseen toistuvien töiden automatisointiin, kuten ajoitettujen varmuuskopioiden suorittamiseen, väliaikaisten tiedostojen puhdistamiseen, järjestelmän ylläpitoon ja useisiin muihin toistuviin töihin. Se on samanlainen kuin Windows-käyttöjärjestelmän Task Scheduler.

Tässä opetusohjelmassa annamme sinulle perustiedot kaikesta, mitä sinun on ymmärrettävä työn aikatauluttamiseksi cronilla. Tähän sisältyy cronin perussyntaksi, crontab-tiedoston muokkaaminen, työn ajastaminen cronilla muutamalla esimerkillä, cron-työn tarkastelu jne.

Cron Jobin perusteet

Ymmärretään joitain cron-työn perusteita.

Mikä on Crond?

Crond on taustalla toimiva Linux-järjestelmän demoni, joka tarkistaa joka minuutti, onko töitä ajoitettu sinä aikana. Jos on, se suorittaa kyseisen työn, muuten se pysyy passiivisena.

Cron Job Syntaksi

Cron-työn syntaksi on seuraava:

* * * * * komento / komentosarja

Vasemmalta:

Jos haluat määrittää useita arvoja kenttään, käytä seuraavia operaattorisymboleita:

  1. Tähti (*): Määritä kentän kaikki mahdolliset arvot
  2. Viiva (-): Vastaanottaja seritellä arvoalue
  3. Pilkku (,): Määritä arvoluettelo
  4. Erotin (/): Määritä askelarvo

Crontab-tiedoston muokkaaminen

Crontab on tiedosto, joka sisältää ajoitetut työt tietyssä syntaksissa. Crontab-tiedostoja on kahta tyyppiä; yksi järjestelmäkohtaisiin cron-töihin ja toinen käyttäjäkohtaisiin cron-töihin.

System cron -työt

Koko järjestelmän kattavat cron-työpaikat sijaitsevat / etc / crontab tiedosto ja / etc / cron.d ja ne ajetaan läpi / etc / cron.tunneittain, / etc / cron.päivittäin, / etc / cron.viikoittain ja / etc / cron.kuukausittain. Vain järjestelmänvalvoja voi käyttää näitä tiedostoja.

Järjestelmänvalvoja voi määrittää cron-työn seuraavalla komennolla:

$ nano / etc / crontab

Tässä on työn syntaksi / etc / crontab tiedosto:

# min hr kuukausi kuukausi päivä käyttäjänimi -komento
* * * * * käyttäjä1 ifconfig

Käyttäjäkohtaiset cron-työt

Käyttäjäkohtaiset cron-työt sijaitsevat /var / spool / cron / crontabs hakemistoon. Vaikka voit muokata näitä töitä manuaalisesti, on suositeltavaa muokata näitä töitä käyttämällä komentoa crontab -e.

Tavallinen käyttäjä voi määrittää cron-työn seuraavalla komennolla:

$ crontab -e

Esimerkiksi, jos olet kirjautunut sisään "testi" -käyttäjänä, crontab -e -komennon suorittaminen muokkaa "käyttäjän" crontab-tiedostoa. Vastaavasti, jos olet kirjautunut pääkäyttäjänä, crontab -e -komento muokkaa pääkäyttäjän crontab-tiedostoa.

Muokkaa alla olevan komennon muille käyttäjille antamalla Terminalissa seuraava komento:

$ sudo crontab -u -e

Esimerkiksi, jos olet kirjautunut sisään ”test1” -käyttäjänä ja haluat muokata ”test2” -käyttäjän crontab-tiedostoa, komento olisi:

$ sudo crontab -u test2 -e

Tässä on cron-työn syntaksi, joka voidaan lisätä crontab-tiedostoon:

# m h kuukausipäiväkuukausikomento
* * * * * ifconfig

Käyttäjäkohtaisissa töissä voi nähdä, että “käyttäjätunnusta” ei ole jätetty.

Crontab-komennot

Crontab-komentoa käytetään cron-töiden muokkaamiseen, luettelointiin ja poistamiseen:

  • crontab -e Voit muokata nykyisen käyttäjän crontab-tiedostoa
  • crontab -l Crontab-tiedoston sisällön näyttäminen
  • crontab -u [käyttäjänimi] Voit muokata minkä tahansa muun käyttäjän crontab-tiedostoa
  • crontab -r Nykyisen käyttäjän crontab-tiedoston poistaminen
  • crontab -i Kehotteen näyttäminen ennen nykyisen käyttäjän crontab-tiedoston poistamista

Työn ajoitus Cronin kanssa

Cronin avulla voit suorittaa työn tietyllä hetkellä, päivämäärällä ja välein vähimmäisyksiköllä minuutteina, ts.e., voit ajaa työtä joka minuutti.

Jos haluat ajastaa työn cronilla, avaa crontab-tiedosto edellisessä osassa kuvatulla tavalla. Kun olet avannut crontab-tiedoston, sinua kehotetaan valitsemaan tekstieditori. Kirjoita numero valitaksesi haluamasi tekstieditorin. Vieritä alaspäin tiedoston loppuun ja lisää töitä yllä kuvattuun syntaksiin. Jokainen tiedoston rivi määrittää yhden komennon. Rivin viisi ensimmäistä merkintää määrittelevät ajoitetun ajan ja viimeinen merkintä määrittää suoritettavan komennon tai komentosarjan.

Esimerkki:

Seuraava crontab-tiedoston rivi ajastaa cron-työn suorittamaan komennon / komentosarjan joka 30. minuutti viimeisten 5 tunnin aikana joka viikonpäivä maanantaista lauantaihin.

* / 30 5 * * 1-6 komento / komento

Pöytäkirja

Tässä kentässä määritetään minuutit, jolloin haluamme komennon suorittamisen. Se on määritelty 0: sta 59: een. Tämän kentän * tarkoittaa työn suorittamista joka minuutti. Yllä olevassa crontab-rivissä * / 30 käskee cron-työn suorittamaan määritetyn komennon / komentosarjan 30 minuutin välein.

Tunnit

Tässä kentässä määritetään ajat, jolloin komennon suoritetaan. Se on määritelty 0: sta 23: een. Tämän kentän * tarkoittaa työn suorittamista joka tunti. Yllä olevassa crontab-rivissä arvo 5 käskee cron-työn suorittamaan määritetyn komennon / komentosarjan viiden tunnin välein.

Kuukauden päivä

Tässä kentässä määritämme tietyt kuukausipäivät, jolloin haluamme komennon suorittamisen. Se on määritelty välillä 1-31. Tämän kentän * tarkoittaa joka päivä. Yllä olevassa crontab-rivissä * käskee cron-työn suorittamaan määritetyn komennon / komentosarjan joka päivä.

Vuoden kuukausi

Tässä kentässä määritämme tietyt kuukaudet, jolloin haluamme komennon suorittamisen. Se on määritelty välillä 1-12. Tämän kentän * tarkoittaa joka kuukausi. Yllä olevassa crontab-rivissä * käskee cron-työn suorittamaan määritetyn komennon / komentosarjan joka kuukausi.

Viikonpäivä

Tässä kentässä määritämme tietyt viikonpäivät, jolloin haluamme komennon suorittamisen. Se on määritelty 0–6 sunnuntaista lauantaihin (0 sunnuntaina ja 6 lauantaina). Tämän kentän * tarkoittaa joka päivä viikossa. Yllä olevassa crontab-rivissä * käskee cron-työn suorittamaan määritetyn komennon / komentosarjan joka päivä viikossa.

Esimerkkejä Cron-työpaikoista

Tässä on muutamia esimerkkejä cron-töistä:

Suorita cron-työ 15 minuutin välein

Jos haluat ajastaa cron-työn suorittamaan 15 minuutin välein, lisää seuraava rivi crontab-tiedostoon:

* / 15 * * * * komento / komentosarja

Suorita cron-työ kello 5 päivittäin

Jos haluat ajastaa cron-työn suorittamaan joka päivä kello 5, lisää seuraava rivi crontab-tiedostoon:

0 5 * * * komento / komentosarja

Suorita cron-työ kello 17.00 joka päivä

Jos haluat ajoittaa cron-työn suorittamaan joka päivä kello 17, lisää seuraava rivi crontab-tiedostoon:

0 17 * * * komento / komentosarja

Suorita cron-työ kello 9 jokaisen kuukauden ensimmäisenä päivänä

Jos haluat suunnitella cron-työn suoritettavaksi kello 9 jokaisen kuukauden ensimmäisenä päivänä, lisää seuraava rivi crontab-tiedostoon:

0 9 1 * * komento / komento

Suorita cron-työ joka tunti joka 15. maaliskuuta

Jos haluat ajoittaa cron-työn joka tunti joka 15. maaliskuuta, lisää seuraava rivi crontab-tiedostoon:

0 * 15 3 * komento / komento

Suorita cron-työ 5 tunnin välein

Jos haluat ajoittaa cron-työn 5 tunnin välein, lisää seuraava rivi crontab-tiedostoon:

0 * / 5 * * * komento / komentosarja

Suorita cron-työ 15 minuutin välein

Jos haluat ajastaa cron-työn suorittamaan 15 minuutin välein, lisää seuraava rivi crontab-tiedostoon:

* / 15 * * * *

Merkkijonojen käyttö

Seuraavia merkkijonoja voidaan käyttää myös työn määrittelemiseen:

  1. @tunti: Työn suorittaminen kerran tunnissa, ts.e., "0 * * * *"
  2. @midnight: Työn suorittaminen kerran päivässä, i.e., "0 0 * * *"
  3. @päivittäin: sama kuin keskiyö
  4. @viikoittain: Työn suorittaminen kerran viikossa, ts.e., "0 0 * * 0"
  5. @kuukausittain: Työn suorittaminen kerran kuukaudessa, i.e., "0 0 1 * *"
  6. @vuosittain: Työn suorittaminen kerran vuodessa, i.e., "0 0 1 1 *"
  7. @vuosittain: sama kuin @ vuosittain
  8. @reboot: Työn suorittaminen kerran jokaisessa käynnistyksessä

Esimerkiksi komentosarjan tai komennon suorittamiseksi joka viikko merkintä crontab-tiedostossa olisi seuraava:

@ viikkokomento / komento

Ennalta määritetyt Cron-hakemistot

Linuxissa on joitain ennalta määritettyjä cron-hakemistoja, joissa tallennetut komentosarjat suoritetaan automaattisesti. Jos sijoitamme komentosarjan näihin hakemistoihin, se suoritetaan automaattisesti määritettynä aikana.

  • / etc / cron.päivittäin
  • / etc / cron.tunneittain
  • / etc / cron.kuukausittain
  • / etc / cron.viikoittain

Esimerkiksi komentosarjan suorittamiseksi kerran kuukaudessa sinun on sijoitettava se / etc / cron -ohjelmaan.kuukausittain.

Näytä Cron-työt

Näytä nykyisen käyttäjän työpaikat

Käytä seuraavaa komentoa tarkastellaksesi kaikkia nykyisen käyttäjän ajoitettuja cron-töitä:

$ crontab -l

Näytä juurikäyttäjien työpaikat

Voit tarkastella kaikkia pääkäyttäjän ajoitettuja töitä antamalla seuraavan komennon Terminalissa:

$ cat / etc / crontab

Sinun on kirjauduttava sisään pääkäyttäjänä tai suoritettava komento sudona.

Tarkastele muiden käyttäjien töitä

Jos haluat tarkastella kaikkia tietyn käyttäjän ajoitettuja töitä, anna seuraava komento Terminalissa korvaamalla todellisen käyttäjänimen kanssa:

$ sudo crontab -u -l

Tämän komennon suorittamiseen tarvitaan sudo-oikeudet.

Näytä tuntitunnin cron-työpaikat

Voit tarkastella kaikkia cron-töitä, jotka on määritetty suoritettavaksi tunneittain, antamalla seuraava komento Terminalissa:

$ ls -la / etc / cron.tunneittain

Tarkastele päivittäisiä cron-töitä

Voit tarkastella kaikkia päivittäin suoritettaviksi määritettyjä cron-töitä antamalla seuraavan komennon Terminalissa:

$ ls -la / etc / cron.päivittäin/

Tarkastele viikoittaisia ​​cron-töitä

Voit tarkastella kaikkia cron-töitä, jotka on määritetty suoritettavaksi viikoittain, antamalla seuraava komento Terminalissa:

$ ls -la / etc / cron.viikoittain/

Tarkastele kuukausittaisia ​​cron-töitä

Voit tarkastella kaikkia cron-töitä, jotka on määritetty suorittamaan kuukausittain, antamalla seuraava komento Terminalissa:

$ ls -la / etc / cron.kuukausittain/

Varmuuskopioi kaikki Cron-työt

On suositeltavaa pitää varmuuskopio kaikista cron-töistä tiedostossa, jotta voit palautua poistamisen yhteydessä. Jos haluat tehdä varmuuskopion kaikista nykyisistä töistä, käytä uudelleenohjausoperaattoria ohjaamaan crontab -l -lähtö tiedostoon.

$ crontab -l> backup_cron.txt

Kaikkien ajoitettujen Cron-töiden poistaminen

Poista kaikki ajoitetut cron-työt käyttämällä -r-lippua seuraavasti:

$ crontab -r

Cron-lupa

Voimme rajoittaa crontab-komennon käyttöä kahdella tiedostolla: / etc / cron.Salli ja / etc / cron.kieltää.

  • / etc / cron.sallia - Lisää käyttäjiä (yksi per rivi), joille haluat antaa pääsyn crontab-komentoihin. Nämä käyttäjät voivat suorittaa ajoitettuja töitä.
  • / etc / cron.kieltää - Lisää käyttäjiä (yksi per rivi), joilta haluat estää pääsyn crontab-komentoihin. Nämä käyttäjät eivät voi suorittaa ajoitettuja töitä.

Crontabin syntaksigeneraattorit

On joitain verkkosivustoja, jotka mahdollistavat syntaksin luomisen crontabsiin. Nämä verkkosivustot helpottavat crontab-lausekkeen luomista muokkaamatta syntaksia. Vaikka syntaksigeneraattoreille, kuten crontabgeneratorille, on useita verkkosivustoja.com, crontab-generaattori.org ja cronmaker.com. Eniten mieluummin mielestäni hyödyllinen on crontab.guru. Käyttäjän syötteen perusteella se luo crontab-lausekkeen, jonka voit kopioida ja liittää crontab-tiedostoon.

Johtopäätös

Tässä opetusohjelmassa olemme selittäneet cron-töiden perusteet, sen syntaksin ja kuinka se asetetaan. Olemme myös keskustelleet siitä, kuinka tarkastella cron-töitä, luoda varmuuskopio ja poistaa ne, jos niitä ei enää tarvita.

Kuinka käyttää GameConqueror-huijausmoottoria Linuxissa
Artikkelissa on opas GameConqueror-huijausmoottorin käytöstä Linuxissa. Monet Windows-pelejä pelaavat käyttäjät käyttävät "Cheat Engine" -sovellusta m...
Parhaat pelikonsoliemulaattorit Linuxille
Tässä artikkelissa luetellaan suositut pelikonsolin emulointiohjelmistot, jotka ovat saatavana Linuxille. Emulointi on ohjelmistojen yhteensopivuusker...
Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...