Мне нужно настроить задание cron в cpanel, которое вызывает URL-адрес (на том же сервере) один раз в неделю. Я собирался использовать wget но оказывается, что это отключено на используемом разделяемом сервере.
Есть ли альтернатива wget? Я слышал это завиток можно использовать, но я не знаю, как настроить это в команде cron.
Кроме того, какая команда заставляет cronjob ничего не делать по завершении?
Любые идеи приветствуются!
Вместо использования wget curl работает так:
curl --silent http://domain.com/cron.php
который будет работать так же, как и wget. Если это файл php, который вы запускаете, есть ли причина, по которой вы не можете запустить его через интерпретатор php командной строки, например:
php -q /path/to/cron.php
то же самое в запросе веб-сервера и часто будет работать намного быстрее и без определенных ограничений тайм-аута, присутствующих при вызове через веб-сервер / curl
Если доступен curl, вы можете попробовать что-то вроде
1 1 * * 0 /usr/bin/curl --silent http://example.come/some.php &>/dev/null
Это должно привести к тому, что curl будет полностью бесшумным, чтобы вы не получали от него никаких писем по завершении.
Я бы предложил добавить параметр «-m» в дополнение к --silent, поскольку этот параметр устанавливает максимальное время, разрешенное для передачи. Представьте, что вы вызываете cron каждую минуту, а сценарий занимает 2 минуты - это может плохо сказаться на загрузке сервера или других вещах.
1 1 * * 0 /usr/bin/curl -m 120 -s http://example.come/some.php &>/dev/null