Kjør en shell-prosedyre til bestemte tider
Hvis du vil lage en tidsplan for en shell-prosedyre, bruker du enten launchd
eller cron
.
Lag en tidsplan for oppgaver med launchd
Bruk
launchd
i stedet forcron
når du skal lage tidsplaner for oppgaver. Hvis du brukerlaunchd
, vil oppgaver som ikke utføres fordi maskinen er slått av eller i dvale, legges i køen når maskinen igjen blir tilgjengelig.Hvis du vil bruke
launchd
til å lage en tidsplan for tidsbaserte oppgaver, bruker duStartCalendarInterval
- ellerStartInterval
-nøkkelen.Du finner mer informasjon om
launchd
på man-siden.
Bruk cron til å lage en tidsplan for en oppgave
cron
-daemonen utfører planlagte kommandoer som er definert i crontab-filer. cron
-daemonen søker i mappen /usr/lib/cron/tabs/ etter crontab-filer navngitt basert på kontoer i /etc/passwd og laster inn filene i minnet. cron
-daemoner søker også i mappen /etc/crontab etter crontab-filer, som er i et annet format. cron
kjører deretter i sykluser på ett minutt, og undersøker lagrede crontab-filer og kontrollerer hver kommando for å se om den skal kjøres i inneværende minutt.
Når kommandoer utføres, sendes utdata til eieren av crontab-filen eller til brukeren som er navngitt i den valgfrie MAILTO-miljøvariabelen i crontab-filen.
Bruk crontab
-verktøyet til å installere, avinstallere eller vise tabellene som brukes til å drive cron
-daemonen. Brukere kan ha sin egen crontab-fil.
Hvis du vil konfigurere crontab-filen din, bruker du kommandoen
crontab -e
. Dette åpner en tom crontab-fil i redigeringsmodus.Her er et eksempel 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 dette eksempelet reparerer den første oppføringen diskrettigheter for MacHD-volumet klokken 18.30 hver dag, fra mandag til fredag:
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
Den andre oppføringen reparerer et volum klokken 23:50 hver søndag:
50 23 * * 0 diskutil repairVolume /Volumes/MacHD