Tässä opetusohjelmassa annamme sinulle perustiedot kaikesta, mitä sinun on ymmärrettävä työn suunnittelussa cronin kanssa. Tämä sisältää cronin perussyntaksin, crontab -tiedoston muokkaamisen, työn ajoittamisen cronilla muutamalla esimerkillä, tarkastelun cron -työstä jne.
Cron Jobin perusteet
Ymmärrämme joitain cron -työn perusteita.
Mikä on Crond?
Crond on daemon Linux -järjestelmässä, joka toimii taustalla ja tarkistaa joka minuutti, onko töitä suunniteltu silloin. Jos on, se suorittaa kyseisen työn, muuten se pysyy passiivisena.
Cron Job Syntax
Cron -työn syntaksi on seuraava:
* * * * *komento/käsikirjoitus
Vasemmalta:
- Ensimmäinen * vastaa pöytäkirjaa (0-59)
- Toinen * vastaa tuntia (0-23)
- Kolmas * vastaa kuukauden päivää (1-31)
- Neljäs * vastaa vuoden kuukautta (1-12)
- Viides * vastaa viikonpäivää (0-6, sunnuntaista lauantaihin)
Jos haluat määrittää useita arvoja kenttään, käytä seuraavia operaattorisymboleja:
- Tähti (*): Kentän kaikkien mahdollisten arvojen määrittäminen
- Viiva (-): Vastaanottaja s määritä arvoalue
- Pilkku (,): Arvoluettelon määrittäminen
- Erotin (/): Vaihearvon määrittäminen
Crontab -tiedoston muokkaaminen
Crontab on tiedosto, joka sisältää ajoitetut työt tietyssä syntaksissa. Crontab -tiedostoja on kahdenlaisia; toinen järjestelmäkohtaisille cron-töille ja toinen käyttäjäkohtaisille cron-töille.
System cron -työt
Järjestelmän laajuiset cron-työt sijaitsevat /etc/crontab tiedosto ja /etc/cron.d hakemistoon, ja ne ajetaan läpi /etc/cron.hourly , /etc/cron.daily , /etc/cron.viikko ja /etc/cron.monthly. Vain järjestelmänvalvoja voi käyttää näitä tiedostoja.
Järjestelmänvalvoja voi määrittää cron -työn käyttämällä seuraavaa komentoa:
$nano /jne/crontabTässä on työn syntaksi /etc/crontab tiedosto:
# min hr dayofmonth month dayofweek käyttäjätunnus* * * * *käyttäjä 1ifconfig
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 niitä käyttämällä crontab -e -komentoa.
Tavallinen käyttäjä voi määrittää cron -työn käyttämällä seuraavaa komentoa:
$crontab-JaJos olet esimerkiksi kirjautunut sisään testikäyttäjänä, crontab -e -komennon suorittaminen muokkaa testikäyttäjän crontab -tiedostoa. Samoin, jos olet kirjautunut sisään pääkäyttäjänä, crontab -e -komento muokkaa pääkäyttäjän crontab -tiedostoa.
Suorita alla oleva komento terminaalissa muokataksesi crontab -tiedostoa muille käyttäjille:
$sudocrontab-u <käyttäjätunnus> -JaJos olet esimerkiksi kirjautunut sisään test1 -käyttäjänä ja haluat muokata test2 -käyttäjän crontab -tiedostoa, komento olisi seuraava:
$sudocrontab-utesti 2-JaTässä on cron -työn syntaksi, joka voidaan lisätä crontab -tiedostoon:
# m h dayofmonth kuukausi dayofweek -komento* * * * * ifconfig
Näet käyttäjäkohtaisissa töissä, että käyttäjätunnusta ei ole tallennettu.
Crontab -komennot
Crontab -komentoa käytetään cron -töiden muokkaamiseen, luetteloimiseen 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] Muokata minkä tahansa toisen käyttäjän crontab -tiedostoa
- crontab -r Voit poistaa nykyisen käyttäjän crontab -tiedoston
- crontab -i Näyttää kehotteen ennen nykyisen käyttäjän crontab -tiedoston poistamista
Työn ajoittaminen Cronin kanssa
Cronin avulla voit suorittaa työn tiettynä ajankohtana, päivämääränä ja aikavälein pienimmällä yksiköllä minuutteina, eli voit suorittaa työn joka minuutti.
Jos haluat ajoittaa työn cronin kanssa, avaa crontab -tiedosto edellisessä osassa kuvatulla tavalla. Kun olet avannut crontab -tiedoston, sinua kehotetaan valitsemaan tekstieditori. Kirjoita numero ja valitse haluamasi tekstieditori. Vieritä alas tiedoston loppuun ja lisää töitä yllä kuvattuun syntaksiin. Tiedoston jokainen rivi määrittää yhden komennon. Rivin viisi ensimmäistä merkintää määrittävät ajoitetun ajan, ja viimeinen merkintä määrittää, mikä komento tai komentosarja suoritetaan.
Esimerkki:
Crontab-tiedoston seuraava rivi ajastaa cron-työn suorittamaan komennon/komentosarjan joka 30. minuutti viiden tunnin välein jokaisena viikonpäivänä maanantaista lauantaihin.
* /30 5 * * 1-6komento/käsikirjoitus
Pöytäkirja
Tässä kentässä määritämme minuutit, jolloin haluamme suorittaa komennon. Sen arvo on 0–59. * Tässä kentässä tarkoittaa työn suorittamista joka minuutti. Yllä olevalla crontab -rivillä */30 kehottaa cron -työtä suorittamaan määritetyn komennon/komentosarjan 30 minuutin välein.
Tunnit
Tässä kentässä määritämme tunnit, jolloin haluamme suorittaa komennon. Se on määritetty väliltä 0 - 23. Tämän kentän * tarkoittaa työn suorittamista joka tunti. Yllä olevalla crontab -rivillä 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 suorittaa komennon. Se on määritetty väliltä 1–31. * Tässä kentässä tarkoittaa joka päivä. Yllä olevassa crontab -rivissä * kertoo cron -työn suorittavan määritetyn komennon/komentosarjan joka päivä.
Vuoden kuukausi
Tässä kentässä määritämme tietyt kuukaudet, jolloin haluamme suorittaa komennon. Se määritetään väliltä 1-12. * Tässä kentässä tarkoittaa joka kuukausi. Yllä olevassa crontab -rivissä * kertoo cron -työlle, että se suorittaa määritetyn komennon/komentosarjan joka kuukausi.
Viikonpäivä
Tässä kentässä määritämme tietyt viikonpäivät, jolloin haluamme suorittaa komennon. Se on määritetty 0-6 sunnuntaista lauantaihin (0 sunnuntaille ja 6 lauantaille). * Tällä alalla * tarkoittaa joka päivä viikossa. Yllä olevassa crontab -rivissä * kertoo cron -työlle suorittaa määritetyn komennon/komentosarjan joka päivä viikossa.
Esimerkkejä Cron Jobsista
Tässä muutama esimerkki cron -töistä:
Suorita cron -työ 15 minuutin välein
Jos haluat ajoittaa cron -työn suoritettavaksi 15 minuutin välein, lisää alla oleva rivi crontab -tiedostoon:
* /viisitoista * * * *komento/käsikirjoitusSuorita cron -työ joka päivä klo 5 aamulla
Jos haluat ajoittaa cron -työn suoritettavaksi joka päivä kello 5.00, lisää alla oleva rivi crontab -tiedostoon:
0 5 * * *komento/käsikirjoitusSuorita cron -työ joka päivä klo 17.00
Jos haluat ajoittaa cron -työn suoritettavaksi klo 17.00 joka päivä, lisää alla oleva rivi crontab -tiedostoon:
0 17 * * *komento/käsikirjoitusSuorita cron -työ joka kuukauden ensimmäisenä päivänä klo 9.00
Jos haluat ajoittaa cron -työn suoritettavaksi klo 9.00 joka kuukauden ensimmäisenä päivänä, lisää alla oleva rivi crontab -tiedostoon:
0 9 1 * *komento/käsikirjoitusSuorita cron -työ joka tunti 15. maaliskuuta
Jos haluat ajoittaa cron -työn joka tunti 15. maaliskuuta, lisää alla oleva rivi crontab -tiedostoon:
0 * viisitoista 3 *komento/käsikirjoitusSuorita cron -työ 5 tunnin välein
Jos haluat ajoittaa cron -työn 5 tunnin välein, lisää alla oleva rivi crontab -tiedostoon:
0 * /5 * * *komento/käsikirjoitusSuorita cron -työ 15 minuutin välein
Jos haluat ajoittaa cron -työn suoritettavaksi 15 minuutin välein, lisää alla oleva rivi crontab -tiedostoon:
* /viisitoista * * * *Jousien käyttö
Seuraavia merkkijonoja voidaan käyttää myös työn määrittämiseen:
- @tunti: Työn suorittaminen kerran tunnissa, esim. 0 * * * *
- @midnight: Suorittaa työ kerran päivässä, esim. 0 * * * *
- @päivittäin: sama kuin keskiyö
- @viikoittain: Työn suorittaminen kerran viikossa, esim. 0 0 * * 0
- @kuukausittain: Työn suorittaminen kerran kuukaudessa, ts. 0 0 1 * *
- @vuosittain: Suorittaa työ kerran vuodessa, esim. 0 0 1 1 *
- @vuosittain: sama kuin @vuosittain
- @reboot: Työn suorittaminen kerran jokaisen käynnistyksen yhteydessä
Jos haluat esimerkiksi suorittaa komentosarjan tai komennon joka viikko, crontab -tiedoston merkintä olisi seuraava:
@viikoittainen komento/käsikirjoitusEnnalta määritetyt Cron -hakemistot
Linuxissa on joitakin ennalta määritettyjä cron-hakemistoja, joissa tallennetut komentosarjat suoritetaan automaattisesti. Jos sijoitamme minkä tahansa komentosarjan näiden hakemistojen alle, se suoritetaan automaattisesti määritettynä ajankohtana.
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron.monthly
- /etc/cron.viikko
Jos haluat esimerkiksi suorittaa komentosarjan kerran kuukaudessa, sinun on sijoitettava se /etc/cron.monthly -kansioon.
Katso Cron Jobs
Näytä nykyisen käyttäjän työt
Käytä seuraavaa komentoa nähdäksesi kaikki nykyisen käyttäjän ajoitetut cron -työt:
$crontab-heNäytä pääkäyttäjien työt
Jos haluat nähdä kaikki pääkäyttäjän ajoitetut työt, anna seuraava komento terminaalissa:
$kissa /jne/crontabSinun on kirjauduttava sisään pääkäyttäjänä tai suoritettava komento sudona.
Näytä muiden käyttäjien työt
Voit tarkastella tietyn käyttäjän kaikkia ajoitettuja töitä antamalla seuraavan komennon päätelaitteessa korvaamalla todellisen käyttäjänimen:
$sudocrontab-u <käyttäjätunnus> -heTämän komennon suorittamiseen tarvitset sudo -oikeudet.
Tarkastele tunneittain cron -töitä
Jos haluat nähdä kaikki cron -työt, jotka on määritetty suorittamaan tunneittain, anna seuraava komento terminaalissa:
$ls -he /jne/cron. tunneittainTarkastele päivittäisiä cron -töitä
Jos haluat tarkastella kaikkia päivittäin suoritettavia cron -töitä, anna seuraava komento terminaalissa:
$ls -he /jne/cron. päivittäin/Tarkastele viikoittaisia cron -töitä
Jos haluat tarkastella kaikkia cron -töitä, jotka on määritetty toimimaan viikoittain, anna seuraava komento terminaalissa:
$ls -he /jne/cron. viikoittain/Tarkastele kuukausittaisia cron -töitä
Jos haluat nähdä kaikki cron -työt, jotka on määritetty toimimaan kuukausittain, anna seuraava komento terminaalissa:
$ls -he /jne/kuukausittain/Varmuuskopioi kaikki Cron -työt
On suositeltavaa pitää varmuuskopio kaikista tiedoston cron -töistä, jotta voit palauttaa sen poistamisen yhteydessä. Jos haluat varmuuskopioida kaikki nykyiset työt, käytä uudelleenohjausoperaattoria ohjaamaan crontab -l -tulostus tiedostoon.
$crontab-he >backup_cron.txtKaikkien ajoitettujen Cron -töiden poistaminen
Voit poistaa kaikki ajoitetut cron -työt käyttämällä -r -lippua seuraavasti:
$crontab-rCron -lupa
Voimme rajoittaa crontab -komennon käyttöä kahden tiedoston kautta: / etc/cron.allow ja/etc/cron.deny.
- /etc/cron.allow - Lisää käyttäjiä (yksi per rivi), joille haluat antaa pääsyn crontab -komentoihin. Nämä käyttäjät voivat suorittaa aikataulutöitä.
- /etc/cron.deny - 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
Jotkin sivustot mahdollistavat syntaksin luomisen crontab -tiedostoille. Nämä sivustot helpottavat crontab -lausekkeen luomista ilman syntaksin muistamista. Vaikka syntaksigeneraattoreille on saatavana erilaisia verkkosivustoja, kuten crontabgenerator.com , crontab-generator.org ja cronmaker.com . Yksi, jota enimmäkseen pidän ja josta olen hyötynyt, on crontab.guru . Käyttäjän antamien tietojen 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 sen määrittämisen. Olemme myös keskustelleet siitä, kuinka tarkastella cron -töitä, luoda varmuuskopio ja poistaa ne, jos niitä ei enää tarvita.