Сьогодні я хотів би розповісти нашим читачам про базові принципи роботи з потужним планувальником для Mac OS X під назвою cron і змоделювати навчальну ситуацію — прямо як у рятувальників або військових.

Отже, уявімо, що у вас є певна програма, яка має працювати постійно, але з якихось невідомих причин час від часу аварійно завершує свою роботу. Ось тут нам на допомогу і приходить непомітний інструментарій операційної системи: командний рядок, скрипти та фонові служби (демони).

Припустимо, таким додатком буде torrent-клієнт Transmission, хоча на самому справі, ви можете прописати в нижче вказаному скрипті абсолютно будь-який додаток. Тільки переконайтеся, що в його назві ви правильно написали всі рядкові і прописні букви, символи або пробіл, а додавати «.app» зовсім необов’язково.

Набрати скрипт можна, наприклад, у текстовому редакторі nano, який необхідно запустити в Терміналі:

#!/bin/sh

PATH=/bin:/usr/bin

APPNAME=”Transmission”

ps xc|fgrep “${APPNAME}” > /dev/null && exit 0
open -a “${APPNAME}”
exit 0

Спочатку ми перевіряємо, запущено наше додаток: якщо так, то виходимо, а якщо ні — запускаємо його. Просто, чи не правда? Набраний скрипт слід зберегти у файл (Ctrl+O) і завершити роботу nano (Ctrl+X).

Я вирішив назвати скрипт run-transmission.sh і зберегти його в домашній каталог ~/, хоча ви можете вибрати зовсім іншу назву і будь-яку папку на комп’ютері — головне, не забути, як ви його назвали і куди поклали :)

Тепер необхідно наш файл зробити виконуваним за допомогою ось такої команди:

chmod +x /Users/Deavy/run-transmission.sh

Залишилося повідомити cron про те, що ми хочемо запускати наш скрипт за графіком. Для цього потрібно створити файл ~/.crontab (якщо він вже існує — відредагувати) за допомогою того ж nano і додати в нього такі рядки:

*/5 * * * * /Users/Deavy/run-transmission.sh

Перші п’ять параметрів (зірочки), розділені табуляторами або пробілами, позначають часовий проміжок: хвилини, години, дні, місяці чи дні тижня. В даному випадку наш скрипт буде запускатися кожні 5 хвилин і перевіряти статус торрент-клієнта. При редагуванні можна задати свою частоту запуску і, що більш важливо, правильно ввести шлях до сценарію та його назва.

Останній крок — вказати демону на наш створений файл ось такою командою:

crontab ~/.crontab

Ви без проблем побачите доданий завдання за допомогою команди crontab -l. Таким чином, можна переконатися, що параметри зазначені вірно і підлягають виконанню. Крім цього, через 5 хвилин після аварійного відключення», Transmission знову запуститься і продовжить виконувати свої безпосередні обов’язки.

Якщо ви більше не потребуєте в послугах цього планувальника, то можете скористатися командою crontab -r. Вона очистить всі завдання.

Тепер ви знаєте, як управляти роботою cron, а решта залежить тільки від ваших потреб і фантазії! :)