Запуск cron через wget

Будильник

Часто нужно периодически дёргать внешний URL, обычно это подразумевает "запуск заданий по cron". Простым способом является использование команды wget с хитрыми ключиками:

wget -O - -q -t 1 http://www.linuxcmd.ru/cron.php

Где основная "хитрость" в том, что ключик "-O -" задаёт вывод в консоль (вместо сохранения в файл), "-q" делает это "тихо" (без вывода на экран), а "-t 1" указывает делать лишь одну попытку соединения. Проще говоря, вместо скачивания получаем именно однократный "вызов скрипта" по заданному адресу.

Если нужно делать подобную операцию каждый день (для, например, очистки кэша сайта), то удобно прописать такую строчку в crontab:

*   4    * * *   root wget -O - -q -t 1 http://www.linuxcmd.ru/cron.php

Т.е. в 4 часа ночи раз в сутки будет очищаться кэш.

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

*/5 *    * * *   root wget -O - -q -t 1 http://www.linuxcmd.ru/cron.php

Если вам помогла или просто понравилась статья - плюсаните/поделитесь, пожалуйста.

Комментарии

Вот за -O большое спасибо!!! А то я об этом ключе не знал, так крон мне забил файлами весь сервер. :)

Спасибо, сняло головную боль, заворачивались мозги. А тут в одну строчку решение всех проблем.

Автору всемерное уважение, честно говоря, для решения этого cronwget-геморроя, раньше запускал параллельное задание с удалением закачанного файла. :) А тут так просто все оказалось. )))

Помогите, пожалуйста!

/usr/bin/wget -O /var/www/site/site.ru/shop/scr/backup/qnt_`date +%Y%m%d_%H%M`.log http://site.ru/shop/scr/XML_pars.php?type=qnt

Отрабатывает по SSH-соединению, пишет лог файл с именем типа qnt_20170504_0754.log в папку backup

Не могу запустить из под CRON! Техподдержка говорит что конструкции qnt_`date +%Y%m%d_%H%M`.log и http://site.ru/shop/scr/XML_pars.php?type=qnt содержать ошибки

Вариант qnt_done.log и '/var/www/site/site.ru/shop/scr/XML_pars.php?type=qnt' тоже не заработали.

Заранее благодарен за помощь!!!

Добавить комментарий