RU 
Регистрация

хостинг: ValueHost 2.0
           

Помощь


Акции:

Бонус за друга!

Crontab

В панели управления Вам доступен планировщик заданий Crontab.

Вы можете установить на выполнение в определенное время или с определенной периодичностью любой скрипт на Вашем сервере.

Пожалуйста, помните:

  • Если Вы используете PHP4, то для того, чтобы выполнялись php-скрипты из crontab необходимо добавить опцию -f после указания интерпретатора PHP перед файлом скрипта так: /usr/local/bin/php -f
  • Минуты могут быть от 0 до 59
  • Часы могут быть от 0 до 23
  • День месяца может быть от 1 до 31
  • Месяц может быть от 1 до 12
  • День недели может быть от 0 до 7 (0 или 7 для воскресенья)
  • Также можно задать ежедневное, еженедельное или ежемесячное выполнение заданий используя */-
  • Ошибки и сообщения crontab будут приходить на контактный e-mail Вашего аккаунта.

Примеры:

  1. Если Вы хотите запускать Скрипт каждые два часа, просто введите в поле Час */2
  2. Если Вы хотите запускать Скрипт каждый час с 1:00 pm до 5:00 pm введите в поле Час 13-17 или 13,14,15,16,17
  3. 5 * * * * Скрипт будет запускаться каждую пятую минуту каждого часа
  4. */5 * * * * Скрипт будет запускаться каждые пять минут
  5. 0 0 * * * Скрипт будет запускаться каждый день в 0:00 am

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

В первую очередь нужно зайти на сервер по ssh и выполнить ту команду, которая внесена как задание в cron - в shell она должна отрабатывать без ошибок.

Если скрипт заведомо рабочий, как выяснено пунктом раньше, но в cron не отрабатывается или работает неправильно - то проблема в путях до файлов. Проверьте все команды типа include , require, fopen и.т.д - путь до открываемого файла должен быть прописан от корня сервера, допустим:
/pub/home/username/htdocs/included_file.txt

То есть при работе в cron не будет работать конструкция:

include('./included_file.txt')

Если в скрипте (php,shell,perl - не важно) идет обращение к юниксовым бинарникам (программам), то так же как в консоли они тоже не будут запускаться, и в скрипте вместо ping localhost надо указать путь до программы, например:

/sbin/ping localhost

Еще один важный момент - для запускаемого через cron php- или perl-скрипта не получится передать GET/POST параметры, то есть конструкция:

/usr/local/bin/php -f /pub/home/username/htdocs/index.php?var=1 

не сработает. Для запуска скрипта cron в окружении веб-сервера можно сделать так:

/usr/bin/curl http://site.ru/index.php?var=1

Если у Вас в процессе работы с crontab возникли вопросы, наши специалисты всегда доступны для Вас через сервис "Поддержка Онлайн" в Вашей контрольной панели или по телефону.