Некоторое время назад один из моих посетителей попросил меня написать статью про использование cron . Ввиду того, что данная тема ещё не разбиралась на сайте, хотя cron очень часто используется даже на самых обычных сайтах.
Некоторое время назад один из моих посетителей попросил меня написать статью про использование cron. Ввиду того, что данная тема ещё не разбиралась на сайте, хотя cron очень часто используется даже на самых обычных сайтах.
Начнём с определения, cron - это планировщик задач в Unix-системах. Это аналог "Планировщика заданий" в Windows. Cron позволяет выполнять определённые задачи в заданное время. Синтаксис, в принципе, Вам знать необязательно, поскольку мы с Вами создаём сайты, а не занимаемся администрированием серверов. Однако, для общего развития:
минута час день месяц день_недели выполняемая_команда
Вместо конкретного числа можно поставить *, это означает "каждый". Например, если вместо дня поставить звёздочку, то задание будет выполняться каждый день. Так же можно задавать интервалы, например, так:
0 0-23 * * * выполняемая_команда
Данная команда будет выполняться каждый час.
По поводу синтаксиса выполняемых программ. Безусловно, их достаточно много, например, отправка e-mail (команда mail), однако, нам, как правило, требуется вызывать PHP-скрипт:
php /home/site/domains/domain1/public_html/script.php
То есть вначале идёт php, сигнализирующий о том, что далее идёт PHP-скрипт, а потом физический (именно физический) путь к PHP-скрипту.
Как правило, никаких проблем с созданием заданий для cron не возникает, поскольку в Admin-панели у хостера всегда есть удобная форма, и Вам останется лишь указать самые элементарные данные.
Применений у cron великое множество. Например, я использую его для рассылки уведомлений о новых статьях. Ввиду того, что подписчиков достаточно много, не получится сразу отправить всем, письма просто не дойдут. Поэтому после выхода статьи письма отправляются с интервалом 10 минут по 10 писем. И этот запуск автоматически делает cron.
