Cron - засіб запуску програм за розкладом
В операційній системі UNIX і їй подібних для запуску програм за розкладом використовується механізм, званий cron. Користувач, який бажає запускати свої програми за розкладом, створює конфігураційний файл, куди записує розклад запуску програм. Даний конфігураційний файл кожну хвилину проглядається cron'ом і запускаються ті програми, час запуску яких підійшло.
Редагується конфігураційний файл за допомогою програми crontab. Програми, що запускаються cron, виконуються від імені користувача - власника відповідного конфігураційного файлу.
Як створити і відредагувати свій конфігураційний файл?
Редагувати конфігураційний файл можна двома способами.
Спосіб перший - пряме редагування через crontab.
Спосіб другий - наказ демона cron перечитати готовий файл. Цей спосіб простіше у використанні.
Майте на увазі, для того, щоб будь-яка зміна конфігураційного файлу вступило в силу, необхідно знову виконати команду crontab имя_файла. При цьому всі попередні налаштування crontab будуть перезаписані новими. Крім того, не слід плутати конфігураційний файл crontab з тим файлом, який створюєте Ви самі. Команда crontab имя_файла копіює вміст Вашого файлу в спеціальний файл crontab, після цього Ваш файл в процесі більше не братиме участі.
Що потрібно писати в файлі конфігурації?
Конфігураційний файл складається з рядків, кожна з яких описує програму, яка буде запускатися за розкладом. Кожен рядок складається з 6 полів, поля відокремлюються одна від одної пропуском або табуляцією. Поля мають таке призначення:
- Хвилини (0-59)
- Годинники (0-23)
- День місяця (1-31)
- Місяць в році (1-12)
- День тижня (0-6, при цьому 0 означає неділя)
- Програма, яка буде запущена
Кожне з перших 5 полів може бути записано кількома способами:
- Символом * (означає будь-яке значення)
- Списком через кому (1,2,3)
- Діапазоном через тире (1-31)
- Кроком значень діапазону (наприклад * / 2 означає через_раз)
Де я можу отримати додаткову інформацію?
Для отримання додаткової інформації по цій темі можна скористатися вбудованою довідковою системою, набравши в командному рядку сервера:
man cron - опис особливостей функціонування cron
man 1 crontab - опис способів використання crontab
man 5 crontab - опис формату конфігураційних файлів для cron
Як запускати php скрипт з cron'a?
Рядок в кронфайле, що запускає php скрипт виглядає так:
де / usr / local / php54 / bin / php - шлях до php-інтерпретатора версії 5.4, а /home/user/www/site1/public_html/script.php - повний шлях до скрипта.
Повний список інтерпрітатора php різних версій:
Як запустити perl скрипт з cron'a?
Для запуску perl-скриптів вказувати шлях до інтерпретатора не потрібно, так як шлях вже вказано в заголовку самого скрипта.
Чи можна управляти файлами crontab з панелі?
В панелі є можливість управляти запуском скриптів за розкладом.
Опція доступна для всіх користувачів, чиї тарифні плани підтримують cron. Для створення конфігураційного файлу відкрийте в панелі управління пункт Crontab в меню Управління.