Запуск скрипта командного процесора у визначений час
Щоб запланувати запуск скрипта командного процесора у визначений час, використовуйте команду launchd
або cron
.
Планування завдань за допомогою команди launchd
Використовуйте
launchd
замістьcron
для планування завдань. Якщо використано командуlaunchd
, але комп’ютер був вимкнутий або в режимі сну й через це завдання пропущено, воно додається до черги на виконання й буде виконано, коли комп’ютер знову ввімкнеться.Щоб використовувати
launchd
для планування завдань на основі часу, використовуйте ключStartCalendarInterval
абоStartInterval
.Докладніше про використання інструменту
launchd
читайте на його man-сторінці.
Використання команди cron для планування завдання
Демон cron
виконує заплановані команди, визначені у файлах crontab. Демон cron
шукає у папці /usr/lib/cron/tabs/ файли crontab, названі за обліковими записами в /etc/passwd, і викачує їх у пам’ять. Демон cron
також шукає у папці /etc/crontab/ файли crontab в іншому форматі. Після цього cron
циклічно щохвилини переглядає збережені файли crontab і перевіряє кожну команду, чи не потрібно її виконувати в дану хвилину.
Коли команда виконується, її виведення надсилається власникові файла crontab або користувачеві з іменем відповідно до необов’язкової змінної середовища MAILTO у файлі crontab.
Використовуйте інструмент crontab
для інсталювання, деінсталювання або перелічення таблиць, які використовуються для виконання демона cron
. Користувачі можуть мати власні файли crontab.
Щоб конфігурувати власний файл crontab, використовуйте команду
crontab -e
. Порожній файл crontab буде відкрито в режимі редагування.Ось приклад файлу 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
У цьому прикладі перший запис лагодить дозволи для диска для тому MacHD о 18.30 щодня з понеділка по п’ятницю:
30 18 * * 1-5 diskutil repairPermissions /Volumes/MacHD
Другий запис планує запуск операції лагодження тому о 23.50 кожної неділі:
50 23 * * 0 diskutil repairVolume /Volumes/MacHD