Spúšťanie shell skriptu v určitých konkrétnych časoch
Ak chcete naplánovať spúšťanie shell skriptu v konkrétnych časoch, použite launchd
alebo cron
.
Plánovanie úloh s použitím launchd
Na plánovanie úloh používajte
launchd
, niecron
. Keď sa používalaunchd
a dôjde k vynechaniu úlohy, pretože počítač je vypnutý alebo v režime spánku, úloha sa pridá do poradia, keď bude počítač znovu online.Ak chcete použiť
launchd
na naplánovanie úloh založených na časovači, použite kľúčStartCalendarInterval
aleboStartInterval
.Ďalšie informácie o používaní
launchd
nájdete na stránke jeho nápovedy.
Používanie démona cron na naplánovanie úlohy
Démon cron
spúšťa naplánované príkazy definované v súboroch crontab. Démon cron
hľadá v priečinku /usr/lib/cron/tabs/ súbory crontab pomenované podľa účtov v priečinku /etc/passwd a načíta tieto súbory do pamäte. Démon cron
vyhľadáva tiež súbory crontab v priečinku /etc/crontab/, ktoré sú v inom formáte. cron
sa potom cyklicky spúšťa každú minútu a skúma uložené súbory crontab a kontroluje všetky príkazy, aby zistil, či má byť niektorý príkaz spustený v priebehu aktuálnej minúty.
Keď sa príkazy spustia, výstup sa pošle vlastníkovi súboru crontab alebo užívateľovi menovanému vo voliteľnej premennej prostredia MAILTO v súbore crontab.
Nástroj crontab
môžete používať na inštaláciu a odinštalovanie tabuliek alebo zobrazenie výpisu tabuliek, ktoré sa používajú pri vykonávaní démona cron
. Užívatelia môžu mať svoj vlastný súbor crontab.
Ak chcete konfigurovať svoj súbor crontab, použite príkaz
crontab -e
. Tento príkaz otvorí prázdny súbor crontab v režime úprav.Tu je príklad súboru crontab:
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#min hour mday month wday command
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
50 23 * * 0 diskutil repairVolume /Volumes/MacHD
V tomto príklade prvá položka opraví práva na disku pre oddiel MacHD každý deň od pondelka do piatka o 18:30:
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
Druhá položka plánuje operáciu opravy oddielu, ktorá sa má spustiť každú nedeľu o 23:50:
50 23 * * 0 diskutil repairVolume /Volumes/MacHD