cron servisas
Debian Linux, suplanuotų procesų valdymas vyksta
/etc/crontab faile, bendras pavidalas:
/etc/crontab
.---------------- minutės(0 - 59)
| .------------- valandos(0 - 23)
| | .---------- dienos(1 - 31)
| | | .------- mėnesiai(1 - 12) OR jan,feb,mar,apr ...
| | | | .---- savaitės dienos (0 - 6) (Sekmadienis=0 or 7) arba sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * vartotojas komanda
Galimos reikšmės:
* |
visos reikšmės, * mėnesiui reiškia: "kiekvienas mėnuo"
|
|
x-y
|
tarp x ir y, 2-4 reiškia 2, 3, 4 dienos.
|
|
x/n
|
dažnumas, */2 reiškia kas dvi valandas
|
Pvz.:
0 0 1 1 * root /_scripts/data1.script
1 1 1,3-6 * * root /_scripts/data2.script
*/2 * * * * root /_scripts/data3.script
* * * * * * jonas /home/jonas/personal.scriptJame jau yra parašyti aplinkos kintamieji ir katalogai, kur galima dėti savo kodus. Tarkim kataloge
/etc/monthly laikomi failai bus paleidžiami kas mėnesį, kiekvieno mėnesio pirmą dieną, 01:01 laiku.
1 1 1 * * * root /bin/run-parts /etc/monthlyĮkėlus ten failą, nereikia pamiršti pakeisti jam teises:
chmod 700 /etc/monthly/data.scriptPo pakeitimų /etc/crontab būtina perleisti cron servisą /etc/init.d kataloge:
./cron restartServisas nebūtinai ten, priklausomai nuo Linux tipo. Tada pasižiūrim, kaip buvo paleistas, ir perleidžiam komandų pagalba. Pvz.:
ps -ef | grep cron
killall cron
cron
/etc/crontab pavyzdys:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
# for user
* * * * * root /bin/date > /xyz.txt
*/2 * * * * root /bin/date > /xyz1.txt
Patartina crontab gale palikti tuščią eilutę (kaip ir daugelyje Linux config-ų)
Jeigu /etc/crontab crontab nėra. Naudojami vartotojų crontab failai. Čia perlesti crond nereikia.
Vartotojų crontab-ai, kai keičia root-as:
crontab -e -u petras
crontab -l -u petras
crontab -d -u petras
kitiems, kai jie keičia savo cron konfiguracinius failus:
crontab -u
crontab -l
crontab -d
Gaunami failai, panašūs į /etc/crontab/bet juose nenurodomas vartotojas, kuriuo bus paleidžiami kodai ar komandos. Slackware neturi sisteminio /etc/crontab, Slackware Linux cron failai "pririšti" prie vartotojų: /var/spool/cron/crontabs/<user>