11 Cron-ajoitustehtäväesimerkkiä Linuxissa


Tässä artikkelissa tarkastelemme ja katsomme, kuinka voimme ajoittaa ja suorittaa Linux-tehtäviä taustalla automaattisesti säännöllisin väliajoin Crontab-komennolla.

Usein toistuvien töiden manuaalinen käsittely on pelottava tehtävä järjestelmänvalvojille, ja tällaiset tehtävät voidaan ajoittaa ja suorittaa automaattisesti taustalla ilman ihmisen puuttumista käyttämällä cron-daemonia Linuxissa tai Unix-tyyppisessä käyttöjärjestelmässä.

Voit esimerkiksi automatisoida Linux-järjestelmän varmuuskopioinnin, aikatauluta päivitykset ja tiedostojen synkronoinnin ja paljon muuta käyttämällä Cron-daemonia, jota käytetään ajoitettujen tehtävien suorittamiseen komentoriviltä. tai käytä verkkotyökaluja cron-töiden luomiseen.

Cron herää joka minuutti ja tarkistaa ajoitetut tehtävät laskettavana – Crontab (CRON TABle) on taulukko, johon voimme ajoittaa tällaisia toistuvia tehtäviä. .

Vinkkejä: Jokaisella käyttäjällä voi olla oma crontab-välilehti tehtävien luomista, muokkaamista ja poistamista varten. Oletuksena cron on käytössä käyttäjille, mutta voimme rajoittaa käyttäjiä lisäämällä merkinnän /etc/cron.deny-tiedostoon.

Crontab Linuxissa

Crontab-tiedosto koostuu komennoista riviä kohden, ja siinä on kuusi kenttää, jotka on erotettu joko välilyönnillä tai sarkaimella. Ensimmäiset viisi kenttää edustavat tehtävien suorittamiseen kuluvaa aikaa ja viimeinen komentokenttää.

  • Minuutti (pidä arvot välillä 0-59)
  • Tunti (pidä arvot välillä 0-23)
  • Kuukauden päivä (pidä arvot välillä 1-31)
  • Vuoden kuukausi (pidä arvot välillä 1-12 tai tammi-joulukuu, voit käyttää kunkin kuukauden nimen kolmea ensimmäistä kirjainta, esim. Tam tai Jun<.)
  • Viikonpäivä (pidä arvot välillä 0-6 tai su-la, tässä voit myös käyttää kunkin päivän nimen kolmea ensimmäistä kirjainta, esim. su tai ke<.)
  • Komento – /polku/to/komento tai komentosarja, jonka haluat ajoittaa.

1. Listaa Crontab-merkinnät

Listaa tai hallitse tehtävää nykyisen käyttäjän crontab-komennolla -l-vaihtoehdolla.

crontab -l

00 10 * * * /bin/ls >/ls.txt

2. Muokkaa Crontab-merkintöjä

Voit muokata crontab-merkintää käyttämällä alla näkyvää vaihtoehtoa -e. Alla oleva esimerkki avaa ajoitetut työt VI-editorissa. Tee tarvittavat muutokset ja lopeta :wq-näppäimien painaminen, jotka tallentavat asetuksen automaattisesti.

crontab -e

3. Listaa käyttäjän ajoitetut Cron-työt

Listaa tietyn käyttäjän tecmint ajoitetut työt käyttämällä vaihtoehtoja -u (Käyttäjä) ja -l (Luettelo).

crontab -u tecmint -l

no crontab for tecmint

Huomaa: vain juurikäyttäjällä on täydet oikeudet nähdä muiden käyttäjien crontab-merkinnät. Tavalliset käyttäjät eivät voi katsella muita.

4. Poista Crontab Entry

Varoitus: Crontab ja -r -parametri poistaa täydelliset ajoitetut työt ilman Crontabin vahvistusta. Käytä vaihtoehtoa -i ennen kuin poistat käyttäjän crontabin.

crontab -r

5. Kysy ennen Crontabin poistamista

crontab ja -i vaihtoehto pyytää sinua vahvistamaan käyttäjältä ennen käyttäjän crontabin poistamista.

crontab -i -r

crontab: really delete root's crontab?

6. Sallitut erikoismerkit (*, -, /, ?, #)

  • Tähti(*) – täsmää kaikki kentän arvot tai mikä tahansa mahdollinen arvo.
  • Tavuviiva(-) – Voit määrittää alueen.
  • Vioviviiva (/) – 1. kenttä /10 tarkoittaa joka kymmenes minuutti tai vaihteluvälin lisäys.
  • Pilkku (,) – Erottele kohteet.

7. Järjestelmänlaajuinen Cron-aikataulu

Järjestelmänvalvoja voi käyttää ennalta määritettyä cron-hakemistoa alla esitetyllä tavalla.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.hourly
  • /etc/cron.monthly
  • /etc/cron.weekly

8. Varaa työ tiettyyn aikaan

Alla olevat työt poistavat tyhjiä tiedostoja ja hakemistoja tiedostosta /tmp päivittäin klo 00.30. Sinun on mainittava käyttäjänimi suorittaaksesi crontab-komennon. Alla olevassa esimerkissä juurikäyttäjä suorittaa cron-työtä.

crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

9. Erityiset merkkijonot yhteistä aikataulua varten

@reboot

Komento suoritetaan, kun järjestelmä käynnistetään uudelleen.

@daily

Kerran päivässä tai voi käyttää @midnight.

@weekly

Kerran viikossa.

@yearly

Kerran vuodessa. voimme käyttää myös @annally-avainsanaa.

Sinun on korvattava cron-komennon viisi kenttää avainsanoilla, jos haluat käyttää niitä.

10. Useita komentoja kaksois-et-merkillä (&&)

Alla olevassa esimerkissä komento1 ja komento2 suoritetaan päivittäin.

crontab -e

@daily <command1> && <command2>

11. Poista sähköposti-ilmoitukset käytöstä.

Oletusarvoisesti cron lähettää sähköpostin käyttäjätilille, joka suorittaa cronjobin. Jos haluat poistaa sen käytöstä, lisää cron-työsi alla olevan esimerkin mukaisesti. >/dev/null 2>&1-vaihtoehdon käyttäminen tiedoston lopussa ohjaa kaikki cron-tulosten tulokset hakemistoon /dev/null.

[root@tecmint ~]# crontab -e
* * * * * >/dev/null 2>&1

päätelmä: Tehtävien automatisointi voi auttaa meitä suorittamaan tehtävämme paremmin, virheettömästi ja tehokkaasti. Saat lisätietoja crontabin manuaalisivulta kirjoittamalla terminaaliin man crontab-komennon.