Rularea unui script de shell la ore specifice
Pentru a programa un script de shell pentru a rula la anumite ore, utilizați launchd
sau cron
.
Programarea sarcinilor cu launchd
Utilizați
launchd
în locul
pentru a programa sarcini. În cazulcron
launchd
, dacă o sarcină este omisă deoarece computerul este oprit sau în modul adormire, sarcina este adăugată la lista de așteptare atunci când computerul revine online.Pentru a utiliza
launchd
pentru a programa lucrările bazate pe timp, utilizați cheiaStartCalendarInterval
sauStartInterval
.Pentru mai multe informații despre
launchd
, consultați pagina manualului acestuia.
Utilizați cron pentru a programa o sarcină
Daemonul cron
execută comenzi programate definite în fișierele crontab. Daemonul cron
caută în dosarul /usr/lib/cron/tabs/ fișiere crontab denumite după conturile din /etc/passwd și încarcă fișierele în memorie. Daemonul cron
caută, de asemenea, în dosarul /etc/crontab/ pentru fișiere crontab, care sunt într-un format diferit. Apoi, cron
ciclează o dată pe minut, examinând fișierele crontab stocate și verificând fiecare comandă pentru a vedea dacă trebuie rulată în minutul respectiv.
Atunci când comenzile sunt executate, rezultatul este trimis prin e-mail proprietarului fișierului crontab sau utilizatorului numit în variabila mediului MAILTO opțional din fișierul crontab.
Utilizați instrumentul crontab
pentru a instala, dezinstala sau lista tabelele utilizate pentru a rula daemonul cron
. Utilizatorii pot avea propriul fișier crontab.
Pentru a configura fișierul crontab, utilizați comanda
crontab -e
. Acest lucru deschide un fișier crontab gol în modul de editare.Iată un exemplu de fișier 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
În acest exemplu, prima intrare repară permisiunile de disc pentru volumul MacHD la ora 18:30 în fiecare zi, de luni până vineri:
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
A doua intrare programează o operație de reparație a volumului să ruleze la 23:50 în fiecare duminică:
50 23 * * 0 diskutil repairVolume /Volumes/MacHD