Использование заданий CRON для посещения url?
У меня есть веб-приложение, которое должно выполнять повторяющиеся задачи, отправлять сообщения и оповещения, я, уже, использую страницу скрипта, выполняю эти задачи при загрузке в браузере i.e http://example.com/tasks.php и я включил его с помощью iframe на каждой странице моего веб-приложения.
теперь я хочу изменить это, чтобы использовать задания CRON, потому что первый подход может привести к производительности jam, так как я могу сделать работу CRON, которая посещает http://example.com/tasks.php. Однако я не хочу, чтобы это задание CRON создавало выходные файлы, такие как day.*!
Я размещаю приложение на общем хостинге, которое разрешает задания CRON через cPanel.
9 ответов
* * * * * wget -O - http://yoursite.com/tasks.php >/dev/null 2>&1
Это должно работать для вас. Просто имейте wget
скрипт, который загружает страницу.
используя -O -
означает, что вывод веб-запроса будет отправлен в STDOUT (стандартный вывод)
добавлять >/dev/null
мы инструктируем стандартный выход быть перенаправлением в черную дыру.
путем добавления 2>&1
мы инструктируем STDERR (ошибки) также отправляться в STDOUT, и, таким образом, весь вывод будет отправлен в черную дыру. (таким образом, он загрузит веб-сайт, но никогда не напишет файл где угодно)
вам не нужно перенаправление, используйте только
* * * * * wget -qO /dev/null http://yoursite.com/tasks.php
можно использовать curl
как в этой нить
для ленивых:
*/5 * * * * curl --request GET 'http://exemple.com/path/check.php?param1=1'
это будет выполняться каждые 5 минут.
вы также можете использовать локальную командную строку php-cli:
* * * * * php /local/root/path/to/tasks.php > /dev/null
это быстрее и уменьшить нагрузку на ваш веб-сервер.
Я использую эту команду
wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1
задача Cron:
* * * * * wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1
вы можете использовать это для URL с параметрами:
lynx -dump "http://vps-managed.com/tasks.php?code=23456"
lynx доступен во всех системах по умолчанию.
* * * * * wget --quiet https://example.com/file --output-document=/dev/null
найти --quiet
яснее, чем -q
и --output-document=/dev/null
яснее, чем -O - > /dev/null