Использование wget в crontab для запуска скрипта PHP - PullRequest
2 голосов
/ 30 июня 2011

Я установил задание cron на своем сервере Ubuntu.По сути, я просто хочу, чтобы эта работа вызывала страницу php на другом сервере.Эта страница php затем очистит некоторые вещи в базе данных.Так что я подумал, что было бы неплохо вызвать эту страницу с помощью wget, а затем отправить результат в / dev / null, потому что меня не волнует вывод этой страницы, я просто хочу, чтобы она выполняла свою работу по очистке базы данных.Итак, вот мой crontab:

0 0 * * * /usr/bin/wget -q --post-data 'pass=mypassword' http://www.mywebsite.com/myscript.php > /dev/null 2>&1

(я выкладываю пароль, чтобы убедиться, что никто, кроме меня, не сможет запустить скрипт).Он работает как чудо, за исключением того, что wget каждый раз пишет пустую страницу в моем пользовательском каталоге: результат загрузки страницы php.

Я не понимаю, почему результат не отправляется в / dev / null?Есть идеи о проблеме здесь?Большое спасибо!

Ответы [ 3 ]

10 голосов
/ 30 июня 2011

Вывод wget в STDOUT - он пытается установить соединение, показывает прогресс и т. Д.

Если вы не хотите, чтобы он сохранял сохраненный файл, используйте параметр -O file:

/usr/bin/wget -q --post-data -O /dev/null 'pass=mypassword' http://www.mywebsite.com/myscript.php > /dev/null 2>&1

Оформить справку wget . Вы также найдете опцию -q для полного отключения вывода на STDOUT (но, конечно, перенаправление вывода, как вы это тоже делаете).

5 голосов
/ 30 июня 2011
wget -O /dev/null ....

должен сделать трюк

1 голос
/ 04 сентября 2013

Вы можете отключить вывод wget с опцией --quiet

wget  --quiet    http://example.com
...