Kuinka muokata Linux Crontab -tiedostoa aikatauluttamaan työtä

esittely

Linuxissa on nimeltään cron, jota käytetään säännöllisten prosessien suorittamiseen.

Näin se tarkistaa järjestelmän tietyt kansiot komentojen käsittelemiseksi. Esimerkiksi on olemassa kansio nimeltä /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly ja /etc/cron.monthly. On myös tiedosto nimeltä / etc / crontab.

Oletuksena voit yksinkertaisesti sijoittaa käsikirjoitukset asiaankuuluviin kansioihin, jotta ne voivat suorittaa säännölliset väliajat.

Esimerkiksi avaa päätelaite (painamalla CTRL, ALT ja T) ja suorita seuraava ls-komento :

ls / etc / cron *

Näet luettelon ohjelmista tai komentosarjoista, jotka suoritetaan tunneittain, päivittäin, viikoittain ja kuukausittain.

Näiden kansioiden ongelmat ovat, että ne ovat hieman epämääräisiä. Esimerkiksi päivittäin tarkoittaa, että käsikirjoitus toimii kerran päivässä, mutta sinulla ei ole valtaa aikaa, jolloin käsikirjoitus ajetaan kyseisen päivän aikana.

Tällöin crontab-tiedosto tulee sisään.

Muokkaamalla crontab-tiedostoa saat komentosarjan tai ohjelman suoritettavaksi täsmällisellä päivämäärällä ja kellonajalla, jonka haluat suorittaa. Esimerkiksi haluat varmuuskopioida tiedostot joka ilta klo 18.

käyttöoikeudet

Crontab-komento edellyttää, että käyttäjällä on oikeudet muokata crontab-tiedostoa. Käytettävissä on periaatteessa kaksi tiedostoa, joiden avulla voidaan hallita crontab-käyttöoikeuksia:

Jos tiedosto /etc/cron.allow on olemassa, käyttäjän, joka haluaa muokata crontab-tiedoston, on oltava kyseisessä tiedostossa. Jos cron.allow-tiedostoa ei ole, mutta tiedostossa on /etc/cron.deny, käyttäjä ei saa olla kyseisessä tiedostossa.

Jos molemmat tiedostot ovat olemassa, niin /etc/cron.allow ohittaa tiedoston /etc/cron.deny.

Jos tiedostoa ei ole olemassa, se riippuu järjestelmän kokoonpanosta, voiko käyttäjä muokata crontabia.

Rootkit-käyttäjä voi aina muokata crontab-tiedostoa. Voit käyttää su-komentoa pääkäyttäjän tai sudo-komennon suorittamiseen crontab-komennon suorittamiseksi.

Muokkaa Crontab-tiedostoa

Jokainen käyttäjä, jolla on käyttöoikeudet, voi luoda oman crontab-tiedostonsa. Cron-komento etsii periaatteessa useita crontab-tiedostoja ja kulkee läpi kaikki.

Voit tarkistaa, onko sinulla crontab-tiedostoa suorittamalla seuraava komento:

crontab -l

Jos sinulla ei ole crontab-tiedostoa, näyttöön ilmestyy viesti "ei crontab ", muuten crontab-tiedosto näytetään (tämä toiminto eroaa järjestelmästä toiseen, joskus se ei näy ollenkaan ja toisinaan se ilmestyy " älä muokkaa tätä tiedostoa ").

Luo tai muokkaa crontab-tiedostoa suorita seuraava komento:

crontab -e

Oletusarvoisesti, jos oletusmuokkaajaa ei ole valittu, sinua pyydetään valitsemaan käytettävä oletuseditori. Henkilökohtaisesti haluan käyttää nanoa, koska se on melko helppo käyttää ja se kulkee terminaalista.

Avaava tiedosto sisältää paljon tietoa, mutta keskeinen osa on esimerkki juuri ennen kommenttien loppua (kommentit on merkitty riveillä, jotka alkavat #).

# mh dom mon dow -komento

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Crontab-tiedoston jokaiselle riville sopii 6 tietoa:

Jokaiselle kohteelle (lukuun ottamatta komentoa) voit määrittää jokerimerkin. Katso seuraava esimerkki crontab-rivi:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

Mitä yllä mainittu komento sanoo, on 30 minuuttia, 18 tuntia ja jokainen päivä, kuukausi ja päivä käytä komentoa zip ja tar kotihakemisto / var / backups kansioon.

Jotta komento toimisi 30 minuutin kuluttua joka tunti, voin suorittaa seuraavan komennon:

30 * * * * komento

Jotta käsky ajetaan joka minuutti kello 18, voin suorittaa seuraavan komennon:

* 18 * * * komento

Sinun on siis oltava varovainen asettamalla crontab-komentoja.

Esimerkiksi:

* * * 1 * komento

Yllä oleva käsky kulkisi joka minuutti joka tunti jokaisena viikonpäivänä tammikuussa. Epäilen, että se on mitä haluatte.

Komennon suorittaminen kello 5: ssä 1. tammikuuta tee seuraavaa komentoa varten crontab-tiedostolle:

0 5 1 1 * komento

Kuinka poistaa Crontab-tiedosto

Useimmiten et halua poistaa crontab-tiedostoa, mutta haluat poistaa joitain rivit crontab-tiedostosta.

Kuitenkin, jos haluat poistaa käyttäjän crontab-tiedoston, suorita seuraava komento:

crontab -r

Turvallisempi tapa tehdä tämä on suorittaa seuraava komento:

crontab -i

Tämä kysyy kysymyksen "oletko varma?" ennen kuin poistat crontab-tiedoston.