Дана замітка призначена для тих, кому зрідка необхідно працювати з cron (crontab), але хто ще не знає, як все це робиться. Я в коротко спробую пояснити, що таке cron, для чого він потрібен, та й як взагалі з ним працювати. Сподіваюся, що наведена тут інформація буде цікава і може бути навіть корисна.
Отже, що таке cron. cron це програма, яка дозволяє вам в певні вами моменти часу проводити ті чи інші дії. Наприклад, запускати на виконання яку або програму або скрипт, оновлювати дані і багато іншого. До речі, відразу ж зауважу, що cron це шматок від unix. так що не шукайте його на Windows :) Там для цієї мети використовується абсолютно інша річ.
Дуже часто cron використовується для ротації логів, оновлення сайтів виконання яких не будь щохвилинних перевірок або іншого. Так, наприклад я його використовую в якості помічника по архівації свого сайту. Написаний скрипт по архівації всіх даних запускається по крону кожного тижня, внаслідок чого я позбавлений від головного болю 'а чи не забув я чого архівнуть. '.
Та ну ладно, я думаю, ви і так знаєте (або вже здогадалися) для чого потрібен крон. Так що подивимося, як все це працює.
Для початку можна перевірити, а чи запущений взагалі цей самий крон.
Команда ps ax | grep cron повинна вивести вам те-то схоже на
Тобто якщо ви бачите crond - то все в порядку, крон на місці.
Інакше вам просто 'повезло', або на вашій машині не встановлений крон, або функції крона виконує якийсь інший софт. Хоча такі ситуації надзвичайно рідкісні.
Усередині файл виглядає наступним чином:
Перші чотири рядки просто позначають настройку параметрів оточення, і на них не варто звертати увагу (як в іншому і міняти теж), так як це задається вже самою системою.
А ось на наступні рядки увагу вже варто звернути.
Формат цих рядків виглядає наступним чином:
- Потрібна хвилина години для запуску (0-59)
- Потрібний час дня для запуску (0-23)
- Потрібний день місяця (0-30)
- Потрібний місяць року (1-12)
- Потрібний день тижня (0-6)
- Здійсненне команда.
Значок * означає слово кожен (день, рік, місяць, годину).
Отже наприклад рядок 01 * * * * command позначатиме запуск програми кожну годину в одну хвилину.
А рядок 02 4 * * * command означає запуск програми щодня о 4 годині ранку в дві хвилини.
Як уже більш повного прикладу можу навести таке:
01 * * * * echo `date` 'Hi man' >> $ HOME / cron.res
Дане завдання кожну годину буде додавати в файл cron.res текст Hi man і поточну дату.
Отже, ми вже знаємо як і за яким принципом працює крон, і тому ми зараз перейдемо до заключного етапу - його редагуванню.
Редагування крона відбувається за допомогою команди crontab.
З другої і третьої командою зазвичай все ясно.
Ось начебто і все. Вдалого вам крона. )