im пытается настроить cronjob для запуска файла PHP. я просто хочу знать, правильно ли я делаю это или нет.
скажем, php находится по адресу http://mysite.com/myscript/cronjob.php , и я хочу, чтобы он запускался каждые 3 часа.
Я очень новичок в cronjobs, поэтому я извиняюсь, если мне кажется, что я понятия не имею, что я делаю.
Minute Hour Day Month Weekday Command * */3 * * * http://mysite.com/myscript/cronjob.php
Я хочу, чтобы этот скрипт PHP запускался каждые 3 часа. будет ли это работать или я должен использовать другую команду?
Нет, это не сработает. URL-адрес не является исполняемым, это просто URL-адрес.
Вы можете поместить wget http://mysite.com/myscript/cronjob.php
для своей команды, но это действительно то, что вы хотите?
Лучший способ (если скрипт находится на локальном сервере) – напрямую вызвать PHP:
php /var/www/myscript/cronjob.php
Почти это должно сделать это
* */3 * * * wget -q -o /dev/null http://mysite.com/myscript/cronjob.php
или с завитой
* */3 * * * curl -s -o /dev/null http://mysite.com/myscript/cronjob.php
-s / -q отключит вывод, а -o переадресует вывод скриптов в / dev / null
В дополнение к тому, что другие говорили о невозможности указать URL-адрес для запроса:
Я нашел несколько ссылок в Интернете, которые предупреждают
A.) Повторите шаблон, как / 2 каждые 2 минуты или / 10 на каждые 10 минут, не поддерживается всеми операционными системами. Если вы попытаетесь использовать его, и crontab жалуется, он, вероятно, не поддерживается.
Однако, если предположить, что повторяющиеся шаблоны поддерживаются, он должен работать.
Таким образом, более портативный способ:
* 0,3,9,12,15,18,21 * * * php /var/www/myscript/cronjob.php