Использование WGET для запуска cronjob PHP

Я пытался сделать cron и запустить URL каждые 5 минут.

Я пытался использовать WGET, однако я не хочу загружать файлы на сервер, все, что я хочу, это просто запустить его.

Вот что я использовал (crontab):

*/5 * * * * wget http://www.example.com/cronit.php

Есть ли какая-либо другая команда, кроме wget, чтобы просто запустить URL-адрес и не загружать его?

вопрос задан 23.04.2011
Abdullah Alsharif
173 репутация

4 ответов


  • 84 рейтинг

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

    wget --spider http://www.example.com/cronit.php
    

    , который будет просто выполнять запрос HEAD, но, вероятно, делать то, что вы хотите

    wget -O /dev/null http://www.example.com/cronit.php
    

    , который сохранит вывод в / dev / null (черная дыра)

    Возможно, вы захотите взглянуть и на ключ -q wget, который не позволяет ему создавать выходные данные

    Я думаю, что лучший вариант, вероятно, будет:

    wget -q --spider http://www.example.com/cronit.php
    

    , если только у вас нет специальной логики, проверяющей метод HTTP, используемый для запроса страницы

    ответ дан James C, с репутацией 12211, 23.04.2011
  • 13 рейтинг
    wget -O- http://www.example.com/cronit.php >> /dev/null
    

    Это означает, что отправляет файл на стандартный вывод и отправляет стандартный вывод в / dev / null

    .
    ответ дан Emil Vikström, с репутацией 72209, 23.04.2011
  • 1 рейтинг

    Если вы хотите получить вывод только при сбое php:

    php -r 'echo file_get_contents(http://www.example.com/cronit.php);'
    

    Таким образом, вы получаете электронное письмо от cronjob только в случае сбоя скрипта, а не всякий раз, когда вызывается php.

    ответ дан angelrove, с репутацией 11, 5.02.2017
  • 0 рейтинг

    Я попробовал следующий формат, работает нормально

    */5 * * * * wget --quiet -O /dev/null http://localhost/cron.php
    
    ответ дан Mosiur, с репутацией 925, 17.11.2015