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.