5.6.20-0+deb8u1
Веб сервер Apache
Mysql сервер 5.5.49
Операционная система Linux 3.16.0-4-amd64
Если зайти в админку в планировщик, то там есть несколько заданий, как ни зайду, последний запуск у каждого стоит тогда, когда я запускал это задание вручную
Подскажите как сделать так чтобы планировщик сам выполнял задание, отчего это зависит? Где регулируется? Подозрения на операционную систему CRON это ведь демон по идее? Я сам-то в Лнукс неочень
/usr/bin/php5.5 -f /.../.../.../public_html/cron.php > /dev/null
ммм не понял немного это в командной строке надо набрать только с моиоми путями или нужно зайти в файл cron.php и подправить?
У меня в начале нужно указать версию php какую запускать
/usr/bin/php5.5 -f /.../.../.../public_html/cron.php > /dev/null
На хостинге есть панель управления? Тогда добавляйте задачу CRON иначе ничено не будет работать, выше собеседник Вам привел пример добавления команды.Подозрения на операционную систему CRON это ведь демон по идее? Я сам-то в Лнукс неочень
kirkr, У меня свой компВсем привет, имею сервачок на Debian8
Тогда гуглите и через консоль добавляйте crontab -e задачи крон
Эта команда открывает cron файл Вашего пользователя через редактор, который используется по умолчанию в системе. Далее добавляем команду, которую надо запустить в определенное время, в следующем формате и сохраняем файл:
* * * * * /usr/bin/php /home/user/script.php
Распишем подробней что же означают звездочки:
(цифры — это номера звездочек)
1. Минуты (0 — 59)
2. Часы (0 — 23)
3. День месяца (0 — 31)
4. Месяц (1 -12)
5. День недели (0 — 6, 0 — воскресенье)
Вот с помощью этих звездочек мы указываем когда запускать команду (или как часто запускать). Например если вместо номера месяца стоит звездочка, значит команда будет запускаться каждый месяц. Если поставить звездочку на место минут, это будет означать каждую минуту и аналогично для остальных.
Например, нам надо, что бы shell скрипт запускался каждый день в 12.00 и 24.00, тогда запись в крон файл требуется добавить следующую:
0 0,12 * * * /path/to/shell-script.sh
значит
0 — это минуты
0,12 — мы точно указываем часы, в которые надо запускать
* * * — означает что запускать надо каждый день, каждый месяц, каждую неделю.
А вот если нам надо запускать скрипт каждый два часа, тогда можно воспользоваться двумя вариантами:
0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /path/to/shell-script.sh
/usr/bin/php /Путь_до крон/cron.php >/dev/null 2>&1 <-У меня рабочий этот /usr/bin/php -f /Путь_до крон/cron.php > /dev/null /usr/bin/php /Путь_до крон/cron.php @daily php -f /Путь_до крон/cron.php http://имя_домена/cron.php >/dev/null 2>&1 php -q /Путь_до крон/cron.php php -f /Путь_до крон/cron.php curl "http://имя_домена/cron.php" wget http://имя_домена/cron.php > /dev/null &2>&1 wget -O - -q http://имя_домена/cron.php > /dev/null &2>&1 wget -O - -q -t 1 http://имя_домена/cron.php
* * * * * /usr/bin/php /var/www/sites/site/cron.php >/dev/null 2>&1
Получается крон в операционке смотрит список своих заданий и выполняет каждую минуту скрипт, который лежит в корне сайта
Не знаю правильно это или нет, мне казалось сам какбы сайт как-то должен взаимодействовать с кроном, то есть я создал задание в админке а оно само попало в кронтаб или еще как-то передалось. Хотел узнать, все ли добавляют строку крон вручную в кронтаб?
На хостингах такая же петрушка? Я просто не ставил раньше движки готовые, которые с кроном работают. Или на хостингах уже крон знает что скрипт лежит в корне и на него уже настроен на выполнение каждую минуту к примеру?
Все, ибо при установке ВЫДЕЛЕНО КРУПНО, не забудьте добюавить задачу в КРОН.Хотел узнать, все ли добавляют строку крон вручную в кронтаб?
Даже у крупных платных CMS вручную добавляешь задание. Ибо на хостингах ограничения
В вашем случае запускать cron.php через wget, который в свою должен быть установлен на сервере.