Администрирование сайта. Cron – запускаем скрипты по расписанию.

Владимир | | Разное.

Рано или поздно у каждого web мастера возникает необходимость регулярно выполнять какие-нибудь операции на сервере хостера (создавать резервные копии базы данных, удалять временные файлы и т.п.). Заниматься этими вещами быстро надоедает и появляется желание автоматизировать процесс.

К счастью, эта задача довольно легко решается. Все, что вам нужно, это возможность управлять планировщиком задач.

В операционных системах семейства UNIX, которые сейчас установлены у большинства хостеров, используется планировщик задач под названием Cron.

Принцип его работы очень простой. Вы создаете задание, в котором указываете команду и периодичность ее выполнения. Например: “запускать my_script.php ежедневно в 2 часа ночи“. И все. Скрипт будет запускаться автоматически в указанное время.

Рассмотрим, создание заданий немного подробнее.

В большинстве случаев хостеры предоставляю доступ к Cron через какую-нибудь панель управления. У меня установлена cPanel, поэтому на ее примере я и буду рассказывать.

Заходим в меню “Дополнительные инструменты :: Планировщик задач”, и видим перед собой пустую форму для добавления задания.

Cron: ежедневно в 3am (миниатюра)

Рис.1. Запускаем скрипт ежедневно в три часа утра

Прежде всего, нужно указать адрес eMail, на который будет отправлено письмо с результатами выполнения задания.

После этого, указываем саму команду. Например,
php путь_к_скрипту/имя_скрипта.php
Естественно, можно вызвать скрипт, написанный на perl или python, или вообще выполнить любую команду. Главное, чтобы у вас были права для ее выполнения.

Теперь осталось указать периодичность выполнения команды.

Тут просто выбираем нужное время и день запуска. Учтите, что список “Минут(s)” имеет имеет одну особенность. Если в нем указано значение “0”, то скрипт будет выполняться не чаще чем один раз в час (в зависимости от настроек в других списках).
Например, на рис.1 показаны настройки для запуска скрипта ежедневно в три часа утра.

Рассмотрим еще примеры:

Cron: запуск каждые 15 мин (миниатюра)

Рис.2. Запускаем скрипт каждые 15 минут

Cron: запуск 20 января в 5 утра (миниатюра)

Рис.3. Запускаем скрипт один раз в год 20 января в пять часов утра.

Как видите, периодичность может изменяться в очень широких пределах.

Теперь осталось проверить настройки и нажать кнопку «Сохранить задания».

После выполнения скрипта на указанный email, Cron daemon отправит письмо с результатами выполнения скрипта.
Например, такими:
Parse error: syntax error, unexpected….. 🙂

Отсюда мораль – проверяйте скрипты перед установкой их на сервере.

Кроме того, учтите, что ресурсы серверов не безграничны. И большинство хостеров очень не любят скрипты, которые выполняются дольше 30 сек или используют более n% памяти (конкретные числа зависят от хостера и тарифного плана). Фраза “очень не любят” означает, что выполнение скрипта будет заблокировано.

Поэтому, если вы планируете установить какие-нибудь ресурсоемкие скрипты, проконсультируйтесь со службой техподдержки хостера (желательно до того, как отдадите деньги).

Постовой

Уборка квартир занятие не самое интересное. Пусть кто-нибудь сделает это за вас!