HostDB.ru
 
Логин

Пароль



или войдите через соцсеть:
провайдеров: 175, переходов на сайты провайдеров сегодня: 9
Хостинг Hostlife

Голосование

Мой сайт это:










Анекдот




Предложить идею


- Использование Cron на хостинге

Использование Cron на хостинге

Cron - это система для автоматического запуска программ и скриптов на сервере в определённое время. Каждый пользователь системы имеет свой файл заданий crontab, в котором описано, в какое время и какие программы запускать от имени этого пользователя. Редактирование файла crontab возможно как при помощи интерфейса панели управления так и при помощи специальной одноименной программы crontab.

Общие сведения по работе

В случае если какое-то из запускаемых Вами заданий делает вывод информации в консоль (например, скрипт на PHP делает echo("...") ), все то, что он выводит, отправляется на электронную почту. По умолчанию эти данные отправляются на адрес, указанный в панели управления как технический e-mail. Вы можете изменить это поведение, прописав первой строчкой crontab-файла MAILTO=your@e-mail.ru. В таком случае вывод всех команд будет отправляться на your@e-mail.ru.

Кроме этого, отправку выводных данных какой-то из команд в crontab можно подавить. Для этого в конец соответствующей строчки, запускающей эту команду, в файле crontab нужно добавить переадресацию: > /dev/null, Например:

/usr/bin/php cronjobs.php > /dev/null

Если скрипт выводит сообщения в поток ошибок, которые тоже желательно подавить, то можно использовать конструкцию следующего вида:

/usr/bin/php cronjobs.php 2> /dev/null

Для подавления всего вывода скрипта (на stdout и stderr) можно использовать такую конструкцию:

/usr/bin/php cronjobs.php 1> /dev/null 2>&1

Довольно часто нам приходится сталкиваться с ситуацией, когда программисты не понимают, как именно происходит запуск скриптов в cron и чем он отличается от запуска этих же скриптов через веб-сервер (т.е. от вызова скрипта по адресу http://sitename.ru/path/to/script.php). Дело в том, что когда скрипт запускается через вызов в браузере (или вызов wget'ом), интерпретатор PHP перед запуском скрипта переходит в папку, где располагается этот скрипт. Поэтому в скрипте работают такие вещи как include("./somefile.php"), подключающие файл из той же директории, где сам скрипт.

Когда этот же скрипт запускается из Cron'а, он устанавливает в качестве "текущей" домашнюю директорию вашего аккаунта. Соответственно, если у вас в crontab прописано что-то вроде

/usr/bin/php sitename.ru/www/path/to/script.php

то script.php будет запущен без перехода в папку sitename.ru/www/path/to. Если данному скрипту для работы необходимо, чтобы он запускался только из папки sitename.ru/www/path/to, необходимо сделать явный переход в эту папку перед запуском. Самый простой вариант сделать это - модифицировать строчку в crontab-файле следующим образом:

cd sitename.ru/www/path/to && /usr/bin/php script.php

Так же хотим вас предостеречь от вызова ваших утилит Cron'ом через wget (типа wget http://sitename.ru/path/to/script.php). Дело в том, что у PHP, запущенного через Apache, есть целый ряд ограничений, в т.ч. и на время работы скрипта. Если ваш Cron-скрипт работает достаточно долго, он может просто не успевать отработать до конца, прежде чем его работа будет принудительно завершена. Кроме того, на работу таких скриптов будут оказывать влияния перезагрузки веб-сервера, выполняемые периодически, а также лимиты на количество процессов PHP, которые разрешены для запуска через Apache.



Опубликовано: 09.07.2016
Просмотров: 239
Автор: NetAngels
Источник: https://www.netangels.ru/

 
Версия для печати

Мой комментарий

Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 1 и 14*:            


Хостинг Безлимит! Бесплатный SSL!
999999 Мб на диске, неогр. трафик.
99 руб.
Хостинг провайдер Well-Web
VZ-Start FR
10240 Мб на диске, RAM 2048 Мб, 2400 Мгц, неогр. трафик.
155 руб.
EuroHoster.org
LH1
61440 Мб на диске, RAM 4096 Мб, 9600 Мгц, неогр. трафик.
2800 руб.
Хостинг провайдер Limb

Заявка на хостинг
Провайдеры сами пришлют
вам свои предложения ;)

Быстрый хостинг Fozzy

Проверка IP

Ваш IP ....... 54.147.239.111 ← Проверить
Страна ..... не определена

Проверка домена (+whois)













Выбрать все
Расширенный поиск (более 50 зон)

Traceroute

Начало маршрута



Акции провайдеров

Все акции хостинг провайдеров


Best-Hoster.ru