Start en shell-instruks på bestemte tidspunkter
Du kan planlægge, at en shell-instruks skal afvikles på bestemte tidspunkter, vha. launchd
eller cron
.
Planlæg opgaver med launchd
Brug
launchd
i stedet forcron
til at planlægge opgaver. Medlaunchd
føjes opgaven til køen, når computeren er online igen, hvis en opgave er sprunget over, fordi computeren er lukket ned eller på vågeblus.Du bruger
launchd
til at planlægge tidsbaserede jobs vha. nøglenStartCalendarInterval
ellerStartInterval
.Der er flere oplysninger om
launchd
på dets hjælpeside (man).
Brug cron til at planlægge en opgave
Daemonen cron
udfører planlagte kommandoer defineret i crontab-arkiver. Daemonen cron
gennemsøger mappen /usr/lib/cron/tabs/ efter crontab-arkiver navngivet efter konti i /etc/passwd og indlæser arkiverne i hukommelsen. Daemonen cron
søger også i mappen /etc/crontab/ efter crontab-arkiver i et andet format. cron
gennemgår derefter en cyklus hvert minut, hvor lagrede crontab-arkiver undersøges, og hver kommando tjekkes for at se, om den skal afvikles i det aktuelle minut.
Når kommandoer udføres, sendes resultatet med e-mail til ejeren af crontab-arkivet eller til den bruger, der er navngivet i den valgfrie MAILTO-miljøvariabel i crontab-arkivet.
Du bruger værktøjet crontab
til at installere, fjerne eller vise de tabeller, der bruges til at afvikle daemonen cron
. Brugeren kan have deres eget crontab-arkiv.
Du konfigurerer dit crontab-arkiv med kommandoen
crontab -e
. Den åbner et tomt crontab-arkiv i redigeringsfunktion.Her er et eksempel på et crontab-arkiv:
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 eksempel reparerer den første optegnelse disktilladelser på MacHD-enheden kl. 18.30 hver dag fra mandag til fredag:
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
Den anden optegnelse planlægger en reparation af enheden kl. 23.50 hver søndag:
50 23 * * 0 diskutil repairVolume /Volumes/MacHD