Пишемо перше завдання для cron, Блог про Mac, iPhone, iPad та інші Apple-штучки

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

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

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

ps xcfgrep "$" > /dev/null && exit 0 open -a "$" exit 0

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

Я вирішив назвати скрипт run-transmission.sh та зберегти його в домашній каталог

/ , хоча ви можете вибрати зовсім інше ім'я та будь-яку папку на комп'ютері - головне, не забути, як ви його назвали і куди поклали 🙂

iphone

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

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

Залишилося повідомити cron, що ми хочемо запускати наш скрипт за графіком. Для цього потрібно створити файл

/.crontab (якщо він вже існує - відредагувати) за допомогою того ж nano і додатинього такі рядки:

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

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

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

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

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