Назад | Перейти на главную страницу

Работа cron для открытия веб-страницы?

У меня есть веб-страница в http://mydomain.com/process/2909

Я хочу, чтобы cron автоматически переходил на эту страницу каждую ночь в 2 часа ночи. Я собирался заставить cron запустить PHP-скрипт, который открывает веб-сайт с помощью CURL, вот так:

        $bocURL = 'http://mydomain.com/process/2909';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $bocURL);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $bocFile = curl_exec($ch);
        curl_close($ch);

Есть ли способ сделать это прямо из команды cron без написания сценария PHP?

Команда wget - хорошее решение этой проблемы, если вы обращаетесь к сценарию на удаленном сервере. Однако, если вы запускаете задание cron на фактическом хосте, которым является «mydomain.com», вы можете просто запланировать выполнение задания crobjob для выполнения кода, расположенного в / process / 2909.

Например, у нас есть некоторые задания PHP, которые мы выполняем с помощью cron. Вместо того, чтобы использовать HTTP-запрос, который может занять несколько минут (и потенциально вызвать проблемы с тайм-аутом), мы настраиваем задание cron, которое вызывает «php5 /srv/cronJobs/2909.php» - это вызывает интерпретатор PHP и не зависит от тайм-аутов HTTP. Кроме того, этот процесс PHP отделен от Apache, поэтому запланированное задание не завершится, если системный администратор перезапустит httpd.

да, вы можете использовать wget или завиток

как прямые команды или из сценария оболочки

Обратите внимание, что выбранный ответ работает только в том случае, если вы заинтересованы в получении HTML-кода непосредственно с URL-адреса. Если вам нужно разобраться в некоторых элементах пользовательского интерфейса, прежде чем вы попадете на нужную страницу, я бы рекомендовал запустить Selenium на безголовом X-сервере. Я делаю это сейчас для проекта, это работает как шарм.

Надеюсь это поможет.

С Уважением,

Себастьян