Köra ett kommandotolksskript vid vissa tidpunkter
Om du vill schemalägga ett kommandotolksskript så att det körs vid vissa tidpunkter använder du antingen launchd
eller cron
.
Schemalägga åtgärder med launchd
Använd
launchd
istället förcron
för att schemalägga åtgärder. Om en åtgärd hoppas över eftersom datorn är avstängd eller i viloläge läggs den till i kön när datorn kopplas upp igen med hjälp avlaunchd
.Om du vill använda
launchd
till att schemalägga timerbaserade jobb ska du använda nyckelnStartCalendarInterval
ellerStartInterval
.Du hittar mer information om
launchd
på dess man-sida.
Använda cron till att schemalägga en åtgärd
Demonen cron
kör schemalagda kommandon som definierats i crontab-filer. Demonen cron
söker i mappen /usr/lib/cron/tabs/ efter crontab-filer som namngivits efter konton i /etc/passwd och läser in filerna i minnet. Demonen cron
söker även i mappen /etc/crontab/ efter crontab-filer som har andra format. cron
cyklar sedan varje minut för att undersöka de lagrade crontab-filerna och kontrollera om något kommando ska köras under den aktuella minuten.
Vid körning av kommandon skickas utdata till ägaren av crontab-filen eller till användaren som angivits i den valfria miljövariabeln MAILTO i crontab-filen.
Du kan använda verktyget crontab
till att installera, avinstallera eller lista tabellerna som används för att driva demonen cron
. Användare kan ha sin egen crontab-fil.
Om du vill konfigurera din crontab-fil använder du kommandot
crontab -e
. Detta öppnar en tom crontab-fil i redigeringsläge.Här är ett exempel på en crontab-fil:
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
I detta exempel reparerar den första posten skivbehörigheter för volymen MacHD klockan 18:30 varje dag, måndag till fredag:
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
Den andra posten schemalägger en volymreparationsåtgärd som körs klockan 23:50 varje söndag:
50 23 * * 0 diskutil repairVolume /Volumes/MacHD