crontab võimaldab Teil käivitada käske regulaarse ajavahemiku järel, kusjuures Te ei pea isegi olema ennast sisse loginud. crontab võib käsu väljundi e-postiga Teile saata. Te saate määrata intervalli minutites, tundides, päevades või isegi kuudes. Sõltuvalt võtmetest toimib crontab omajagu erinevalt:
Alustame kohe faili crontab
redigeerimisega. Kui annate käsu crontab -e, ilmub Teie lemmiktekstiredaktor, kui olete selle määranud keskkonnamuutujaga EDITOR
või VISUAL
, vastasel juhul avatakse Vi. Faili crontab
rida koosneb kuuest väljast. Esimesed viis välja märgivad vastavalt minutite, tundide, päevade, kuude ja nädalapäevade intervalle. Kuues väli sisaldab käivitatavat käsku. Ridasid, mille alguses seisab #
. peetakse kommentaariks crond (programm, mis vastutab crontab
-failides kirjapandu täitmise eest) ignoreerib neid. Faili ülesehitus on natuke teistsugune süsteemse crontab
-faili puhul (selle asukohaks on /etc/crontab
). Selles seisab kuuendal väljal kasutajanimi, kelle õigustes käivitatakse seitsmendal väljal antud programm. Seda tuleks kasutada ainult haldamisülesanneteks ning selliste kasutajate tööde käivitamiseks, mis ongi mõeldud süsteemi turvalisuse suurendamiseks (näiteks viirustõrje-kasutaja või siis andmebaasiserveri käimashoidmiseks loodud kasutaja). Toome näite crontab
-faili kohta:
# Kui Te ei soovi saada e-kirja, muutke # järgmine rida kommentaariks #MAILTO="Teie_e-posti_aadress" # # Iga 2 päeva tagant antakse 14.00 teada uutest piltidest, # nagu eespool selgitatud - seejärel antakse failile # "tempel" taas käsk "touch". Märki # "%" tõlgendataksereavahetusena, mis lubab # anda ühel real mitu käsku. 0 14 */2 * * find /shared/pildid \ -cnewer /shared/pildid/tempel \ -a -iregex ".*\.jpe?g" \ -a -not -regex \ ".*/old/.*"%touch /shared/images/stamp # # Igal jõululaupäeval mängitakse muusikat :) 0 0 25 12 * mpg123 $HOME/sounds/merryxmas.mp3 # # Iga teisipäev 17.00 trükitakse välja ostunimekiri... 0 17 * * 2 lpr $HOME/ostunimekiri.txt
Intervalle saab mõistagi määrata väga mitmel moel ja toodud näide on ainult üks võimalus. Te võite määrata diskreetsed väärtused, mille eraldamiseks tuleb kasutada komasid (1,14,23
) või vahemiku (1-15
) või ka neid kombineerida (1-10,12-20
), määrates soovi korral ka sammu (1-12,20-27/2
). Ja siis tuleb lihtsalt leida käsud, mida nende vahvate intervallide järel käivitada!
Võimalik, et soovite käivitada mingi käsu konkreetsel päeval, aga mitte regulaarselt. Võib-olla soovite näiteks tuletada endale meelde, et Teid ootab õhtul kell kuus ees kohtumine. Teil töötab X, paigaldatud on tarkvarapakett X11R6-contrib
ning Te soovite, et Teile antaks 17.30 teada, et on aeg liikuma hakata, et mitte kohtumisele hilineda. Siin astub mängu at:
$ at 5:30pm # Teie ees seisab nüüd "at" viip at> xmessage "Aeg minna! Kohtumine on kell 18.00" # Väljumiseks andke käsk CTRL-d at> <EOT> job 1 at 2005-02-23 17:30 $
Aega saab määrata mitmel moel:
now + <intervall>
: see tähendabki hetke 'praegu' ja intervalli (lisavõimalus; intervalli puudumine tähendab lihtsalt praegust hetke). Intervalli süntaks on <n> (minutes|hours|days|weeks|months)
vastavalt minutite, tundide, päevade, nädalate ja kuude jaoks. Nii võib intervalliks määrata näiteks now + 1 hour
(ühe tunni pärast), now + 3 days
(kolme päeva pärast) jne.
<kellaaeg>
<päev>
: daatumi täielik määramine. Parameeter <kellaaeg>
on kohustuslik. at on selle puhul üsna liberaalne: Te võite kellaajaks anda 0100
, 04:20
, 2am
, 0530pm
, 1800
või mõne kolmest eriväärtusest: noon
(keskpäev), teatime
(16.00) või midnight
(kesköö). Parameeter <päev>
pole kohustuslik. Ka selle võib määrata mitmel kujul: 12/20/2001
(20.detsember 2001) või 20.12.2001
. Te võite ka aasta ära jätta, aga siis saate kasutada ainult viimast, niinimetatud Euroopa märkimisviisi: 20.12
. Kuu võib määrata ka tähtedega: sobivad nii Dec 20
kui ka 20 Dec
.
at tunnustab ka mitmeid võtmeid:
Nagu ikka, tutvustab kõiki võtmeid ja muud lähemalt manuaalilehekülg
at(1).