Использование WGET для запуска cronjob PHP
Я попытался сделать cron и запустить URL-адрес каждые 5 минут.
Я попытался использовать WGET, но я не хочу загружать файлы на сервере, все, что я хочу, это просто запустить его.
Это то, что я использовал (crontab):
*/5 * * * * wget http://www.example.com/cronit.php
Есть ли какая-либо другая команда для использования, кроме wget, для запуска URL-адреса, а не downlaod?
Ответы
Ответ 1
Вы можете сказать, что wget не загружает содержимое несколькими способами:
wget --spider http://www.example.com/cronit.php
который просто выполнит запрос HEAD, но, вероятно, сделает то, что вы хотите
wget -O /dev/null http://www.example.com/cronit.php
который сохранит вывод в /dev/null (черная дыра)
Возможно, вы захотите также взглянуть на переключатель wget -q, который не позволяет ему создавать выходные данные
Я думаю, что лучший вариант, вероятно, будет:
wget -q --spider http://www.example.com/cronit.php
что, если у вас нет специальной логики, проверяющей метод HTTP, используемый для запроса страницы
Ответ 2
wget -O- http://www.example.com/cronit.php >> /dev/null
Это означает, что вы отправляете файл в stdout и отправляете stdout в/dev/null
Ответ 3
Я пробовал следующий формат, отлично работаю
*/5 * * * * wget --quiet -O /dev/null http://localhost/cron.php
Ответ 4
Если вы хотите получить вывод только тогда, когда сбой php:
php -r 'echo file_get_contents(http://www.example.com/cronit.php);'
Таким образом вы получаете электронное письмо от cronjob только тогда, когда сбой script и не всякий раз, когда вызывается php.