Cron ja crontab: Difference between revisions
(20 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
Autor: Urmas Kaldaru, AK32 | Autor: Urmas Kaldaru, AK32 | ||
Cron on UNIX-i utiliit, mis võimaldab automaatselt käivitada programme | '''Cron''' on UNIX-i utiliit, mis võimaldab cron deamoni abil automaatselt käivitada programme kindlate ajavahemike järel.<br /> | ||
'''Crontab''' on fail, mille sees on defineeritud käivitatavad programmid ja ajakava. | |||
==Crontab piirangud== | ==Crontab piirangud== | ||
Line 9: | Line 10: | ||
==Crontab käsud== | ==Crontab käsud== | ||
<pre> | <pre> | ||
crontab -e Redigeeritakse | export EDITOR=nano Määratakse redaktor, millega avatakse crontab fail | ||
crontab -l Kuvatakse crontab fail. | |||
crontab -r Eemaldatakase crontab fail. | crontab -e Redigeeritakse kasutaja crontab faili või luuakse uus, kui faili ei eksisteeri. | ||
crontab -l Kuvatakse kasutaja crontab fail. | |||
crontab -r Eemaldatakase kasutaja crontab fail. | |||
crontab -v Näidatakse viimase redigeerimise aeg. | crontab -v Näidatakse viimase redigeerimise aeg. | ||
</pre> | </pre> | ||
==Crontab | ==Crontab fail== | ||
Crontab failis on 5 välja täpsustamaks intervalli nädalapäeva, kuupäeva ja kellaaega, millele järgneb käivitatav käsk. | Crontab failis on 5 välja täpsustamaks intervalli nädalapäeva, kuupäeva ja kellaaega, millele järgneb käivitatav käsk. | ||
Line 30: | Line 32: | ||
| +----------- tund (0 - 23) | | +----------- tund (0 - 23) | ||
+-------------- minut (0 - 59) | +-------------- minut (0 - 59) | ||
* märgiga valitakse kõik väärtused, mis saavad olla sellel väljal. | |||
</pre> | </pre> | ||
* | Välja väärtus võib olla * või nimekiri võimalikest väärtustest, mis on eraldatud komaga. Elemendi võimalik väärtus võib olla eespoolt näidatud vahemikust või väärtuste vahemik, eraldatuna sidekriipsuga. Kordust saab määrata kaldkriipsuga / (kordus maskiga /2 - kordus iga 2 minuti tagant või /10 - kordus iga 10 minuti tagant ei tööta kõikide operatsioonisüsteemidega). | ||
==Crontab näited== | |||
Allolev rida kustutab kõik failid kaustast /home/someuser/tmp iga päev kell 18:30. | |||
30 18 * * * rm /home/someuser/tmp/* | |||
Mitme käsu järjestikuliseks käivitamiseks eraldatakse need && märkidega: | |||
30 18 * * * rm /home/someuser/tmp/* && /usr/bin/updatedb | |||
Veel näiteid erinevatest aegadest: | |||
30 0 1 1,6,12 * – kell 00:30 esimesel jaanuaril, juunil ja detsembril. | |||
0 20 * 10 1-5 – kell 20:00 oktoobris esmaspäevast reedeni. | |||
0 0 1,10,15 * * – keskööl, kuupäevadel 1, 10 ja 15. | |||
5,10 0 10 * 1 – kell 00:05 ja 00:10 iga kuu, kui on esmaspäev ja 10 kuupäev. | |||
*/10 * * * * – Käivitatakse iga 10 minuti tagant. | |||
Crontab failis võib kasutada ka spetsiaalstringe: | |||
@reboot Käivitatakse korra peale arvuti käivitamist. | |||
@yearly Käivitatakse korra aastas, "0 0 1 1 *". | |||
@annually Sama mis @yearly. | |||
@monthly Käivitatakse korra kuus, "0 0 1 * *". | |||
@weekly Käivitatakse korra nädalas, "0 0 * * 0". | |||
@daily Käivitatakse korra päevas, "0 0 * * *". | |||
@midnight Sama mis @daily. | |||
@hourly Käivitatakse korra tunnis, "0 * * * *". | |||
Kasutamine: | |||
@reboot /path/to/execuable | |||
==Tulemuste logimine== | |||
Käivitatava programmi tulemusi saab saata logifaili või keelata igasugune tulemuste kuvamine: | |||
30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log | |||
30 18 * * * rm /home/someuser/tmp/* >> /dev/null | |||
==Graafiline kasutajaliides (Ubuntu)== | |||
Graafiline kasutajaliides tuleb installeerida käsuga: | |||
sudo apt-get install gnome-schedule | |||
Graafilise kasutajaliidese saab käivitada menüüst '''Applications --> System Tools --> Scheduled tasks'''. | |||
==Spikker== | |||
Rohkem informatsiooni saab '''man''' lehelt: | |||
man crontab | |||
==Lingid== | |||
[https://help.ubuntu.com/community/CronHowto https://help.ubuntu.com/community/CronHowto] | |||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] | [[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Latest revision as of 16:05, 4 February 2011
Autor: Urmas Kaldaru, AK32
Cron on UNIX-i utiliit, mis võimaldab cron deamoni abil automaatselt käivitada programme kindlate ajavahemike järel.
Crontab on fail, mille sees on defineeritud käivitatavad programmid ja ajakava.
Crontab piirangud
Võite kasutada crontab-i, kui teie kasutajanimi asub failis /usr/lib/cron/cron.allow. Kui seda faili ei ole olemas, siis saate kasutada crontab-i, kui teie nimi ei ole failis /usr/lib/cron/cron.deny. Kui fail cron.deny eksisteerib ja on tühi, siis võivad kõik kasutajad kasutada crontab-i. Kui mõlemad failid on olemas, siis ainult root kasutaja saab kasutada crontab-i. Lubamise ja keelamise failis on üks kasutaja rea kohta.
Crontab käsud
export EDITOR=nano Määratakse redaktor, millega avatakse crontab fail crontab -e Redigeeritakse kasutaja crontab faili või luuakse uus, kui faili ei eksisteeri. crontab -l Kuvatakse kasutaja crontab fail. crontab -r Eemaldatakase kasutaja crontab fail. crontab -v Näidatakse viimase redigeerimise aeg.
Crontab fail
Crontab failis on 5 välja täpsustamaks intervalli nädalapäeva, kuupäeva ja kellaaega, millele järgneb käivitatav käsk.
* * * * * käivitatav käsk - - - - - | | | | | | | | | +-- nädalapäev (0 - 6) (pühapäev=0) | | | +----- kuu (1 - 12) | | +-------- kuupäev (1 - 31) | +----------- tund (0 - 23) +-------------- minut (0 - 59) * märgiga valitakse kõik väärtused, mis saavad olla sellel väljal.
Välja väärtus võib olla * või nimekiri võimalikest väärtustest, mis on eraldatud komaga. Elemendi võimalik väärtus võib olla eespoolt näidatud vahemikust või väärtuste vahemik, eraldatuna sidekriipsuga. Kordust saab määrata kaldkriipsuga / (kordus maskiga /2 - kordus iga 2 minuti tagant või /10 - kordus iga 10 minuti tagant ei tööta kõikide operatsioonisüsteemidega).
Crontab näited
Allolev rida kustutab kõik failid kaustast /home/someuser/tmp iga päev kell 18:30.
30 18 * * * rm /home/someuser/tmp/*
Mitme käsu järjestikuliseks käivitamiseks eraldatakse need && märkidega:
30 18 * * * rm /home/someuser/tmp/* && /usr/bin/updatedb
Veel näiteid erinevatest aegadest:
30 0 1 1,6,12 * – kell 00:30 esimesel jaanuaril, juunil ja detsembril. 0 20 * 10 1-5 – kell 20:00 oktoobris esmaspäevast reedeni. 0 0 1,10,15 * * – keskööl, kuupäevadel 1, 10 ja 15. 5,10 0 10 * 1 – kell 00:05 ja 00:10 iga kuu, kui on esmaspäev ja 10 kuupäev. */10 * * * * – Käivitatakse iga 10 minuti tagant.
Crontab failis võib kasutada ka spetsiaalstringe:
@reboot Käivitatakse korra peale arvuti käivitamist. @yearly Käivitatakse korra aastas, "0 0 1 1 *". @annually Sama mis @yearly. @monthly Käivitatakse korra kuus, "0 0 1 * *". @weekly Käivitatakse korra nädalas, "0 0 * * 0". @daily Käivitatakse korra päevas, "0 0 * * *". @midnight Sama mis @daily. @hourly Käivitatakse korra tunnis, "0 * * * *".
Kasutamine:
@reboot /path/to/execuable
Tulemuste logimine
Käivitatava programmi tulemusi saab saata logifaili või keelata igasugune tulemuste kuvamine:
30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log 30 18 * * * rm /home/someuser/tmp/* >> /dev/null
Graafiline kasutajaliides (Ubuntu)
Graafiline kasutajaliides tuleb installeerida käsuga:
sudo apt-get install gnome-schedule
Graafilise kasutajaliidese saab käivitada menüüst Applications --> System Tools --> Scheduled tasks.
Spikker
Rohkem informatsiooni saab man lehelt:
man crontab