Cron

Cron — средство запуска программ по расписанию.

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

Редактируется конфигурационный файл с помощью программы crontab. Программы, запускаемые cron, исполняются от имени пользователя — владельца соответствующего конфигурационного файла.

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

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

Способ первый — прямое редактирование через crontab.

  • Наберите в командной строке команду crontab -e. Откроется редактор vi с содержимым вашего конфигурационного файла. Если это первый запуск crontab'а, то файл будет пустой.
  • Отредактируйте содержимое.
  • Выйдите из редактора. Crontab автоматически даст команду демону cron перечитать Ваш файл.

У этого способа есть один недостаток — редактор vi, в котором открывается файл, довольно сложен в использовании и требует определенного опыта и навыков.

Способ второй — приказ демону cron перечитать готовый файл. Этот способ проще в использовании.

  • Создайте конфигурационный файл на сервере командой touch имя_файла.
  • Отредактируйте его в привычном для Вас редакторе, например в FAR'е.
  • Если Вам не нравится редактировать файл на сервере, то Вы можете создать и отредактировать файл на своем компьютере и затем закачать его на сервер по FTP.
  • Выполните команду crontab имя_файла. 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 означает через_раз)

Кроме того, Вы можете получать по почте результаты и ошибки выполнения программ, запускаемых демоном cron по расписанию. Для этого в конфигурационном файле напишите MAILTO=ваш_email_адрес.

Запуск PHP скриптов из cron`a

Строка в кронфайле, запускающая 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 — путь до скрипта необходимо указывать от корня сервера.

Для запуска 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 — ссылка на скрипт.

В случае, если Вы не хотите, чтобы полученный от скрипта вывод сохранялся в файле, можно использовать вместо wget программу GET.




Услуги компании

Веб-дизайн сайтов
Создание сайтов
Создание интернет-магазинов
Системы управления сайтом
Готовые решения
Готовые предложения
Поддержка и обслуживание сайтов
Контекстная реклама
Услуги хостинга
Регистрация доменных имен
Информация для клиентов

Задать вопрос
Сделать заказ
Часто задаваемые вопросы
Контактная информация

Телефон: +7 (342) 285-21-17 
+7 (342) 247-07-03
E-mail: info@elipseart.ru
Skype: elipseart

Служба технической поддержки:
support@elipseart.ru
© 2007 — 2012 Дизайн-студия ElipseArt. Все права защищены.

Дизайн-студия ElipseArt — разработка и создание сайтов
в городе Пермь и других регионах.
Rambler's Top100