раздел помощи
Поиск:     Расширенный поиск

Планировщик заданий Cron

Содержание

Cron – средство запуска программ по расписанию.
 
В операционной системе UNIX и ей подобных для запуска программ по расписанию используется механизм, называемый cron. Пользователь, желающий запускать свои программы по расписанию, создает конфигурационный файл, куда записывает расписание запуска программ. Данный конфигурационный файл каждую минуту просматривается cron‘ом и запускаются те программы, время запуска которых подошло.
Редактируется конфигурационный файл с помощью программы crontab. Программы, запускаемые cron, исполняются от имени пользователя – владельца соответствующего конфигурационного файла.
 

Создание и редактирование конфигурационного файла
 

Редактировать конфигурационный файл можно двумя способами:

Способ первый – редактирование с помощью раздела Crontab панели управления.

    1. Зайти в раздел Crontab
    2. Внести желаемое содержимое файла
    3. Нажать «Сохранить»

Способ второй – редактирование файла по протоколу SSH.

    1. Подключиться к серверу с помощью протокла SSH
    2. Набрать в командной строке команду crontab -e. Откроется редактор vi с содержимым конфигурационного файла. Если это первый запуск crontab, то файл будет пустой.
    3. Отредактировать содержимое.
    4. Выйти из редактора. Crontab автоматически даст команду демону cron перечитать файл.

У этого способа есть один недостаток – редактор vi, в котором открывается файл, довольно сложен в использовании и требует определённого опыта и навыков. Чтобы сменить редактор на более удобный, перед редактированием конфигурационного файла cron возможно добавить строку export EDITOR=mcedit в файл /home/login/.bash_profile. Отредактировать файл .bash_profile можно командой mcedit ~/.bash_profile.

Описание полей в конфигурационном файле
 

Конфигурационный файл состоит из строк, каждая из которых описывает программу, которая будет запускаться по расписанию. Каждая строка состоит из 6 полей, поля отделяются друг от друга пробелом или табуляцией. Поля имеют следующее назначение:
  1. Минуты (0-59)
  2. Часы (0-23)
  3. День месяца (1-31)
  4. Месяц в году (1-12)
  5. День недели (0-6, при этом 0 означает воскресенье)
  6. Программа, которая будет запущена
Каждое из первых 5 полей может быть записано несколькими способами:
  1. Символом * (означает любое значение)
  2. Списком через запятую (1,2,3)
  3. Диапазоном через тире (1-31)
  4. Шагом значений диапазона (например */2 означает через_раз)
Кроме того, возможно получать по почте результаты и ошибки выполнения программ, запускаемых демоном cron по расписанию. Для этого в конфигурационном файле необходимо прописать MAILTO=ваш_email_адрес.

Дополнительная информация
 

Для получения дополнительной информации по этой теме можно воспользоваться встроенной справочной системой, набрав в командной строке сервера:

man cron – описание особенностей функционирования cron
man 1 crontab – описание способов использования crontab
man 5 crontab – описание формата конфигурационных файлов для cron

Запуск php скрипта из cron
 

Строка в кронфайле, запускающая php скрипт выглядит так:
 
* * * * * /usr/local/bin/php /home/user/www/site1/public_html/script.php
где /usr/local/bin/php – путь до php-интерпретатора (на различных серверах путь может быть разным. Выяснить путь можно с помощью команды which php);
/home/user/www/site1/public_html/script.php – путь до скрипта необходимо указывать от корня сервера.
Обращаем внимание, на хостинге Peterhost доступны несколько версий PHP по следующим путям:

  •  php4:    /usr/local/bin/php
  •  php5:    /usr/local/bin/php5
  •  php5.3: /usr/local/php53/bin/php
  •  php5.4: /usr/local/php54/bin/php


В зависимости от того, какая версия PHP требуется для запуска PHP скрипта с помощью CronTab, необходимо указать путь
до необходимой версии интерпретатора PHP в конфигурационном файле задания CronTab.

Вызов php скрипта требующего параметров в адресной строке
 

Для запуска php-скриптов методом GET из cron`a используют утилиту wget. Строка записи cron-файла выглядит так:

* * * * * /usr/local/bin/wget 'http://имя_домена/script.php?var1=xxx&var2=yyy'
Где /usr/local/bin/wget – путь до утилиты wget;
http://имя_домена/script.php?var1=xxx&var2=yyy – ссылка на скрипт.
В случае, если нет необходимости, чтобы полученный от скрипта вывод сохранялся в файл, можно добавить параметры -q -O - после команды wget. Таким образом, используемая выше строка превратится в следующую:

* * * * * /usr/local/bin/wget -q -O - 'http://имя_домена/script.php?var1=xxx&var2=yyy'

Запуск perl скрипт из cron

Для запуска perl-скриптов указывать путь до интерпретатора не нужно, так как путь уже указан в заголовке самого скрипта.
Пред.   След.
Webalizer     Технические параметры функционирования Web-системы


Не нашли ответ на свой вопрос? Позвоните нашим специалистам по бесплатному телефону 8-800-333-77-43