Профессиональный хостинг с PHP4/5, MySQL хостинг, C++ хостинг, Perl хостинг, SSH/SSH2, SSI, WAP, Cron, Daemons Главная  Сервисы  Карта сайта  Контакты  
 
  хостинг, платный хостинг, дешевый хостинг, виртуальный хостинг, надёжный хостинг, домен ru бесплатно, домен бесплатно

Host

 
   
 
 
 
Средства разработки

Работа с 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_адрес.

 

Где я могу получить дополнительную информацию?

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

man cron - описание особенностей функционирования cron

man 1 crontab - описание способов использования crontab

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

 

Как запускать 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 скрипт требует параметров в адресной строке, как можно вызвать такой скрипт?

Для запуска 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.

 

Как запустить perl скрипт из cron'a?

Для запуска perl-скриптов указывать путь до интерпретатора не нужно, так как путь уже указан в заголовке самого скрипта. .

 
 


   
 

UT

О компании | Услуги и цены | Домены | Инструкции | Инструменты | Demo панель | Контакты | Войти

Перепечатка материалов возможна только при указании гиперссылки на наш сайт

Copyright © 2007 Все права защищены. UTHost.net - надёжный хостинг - профессиональных хостинг