Использование wget в crontab для запуска PHP-скрипта

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

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

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

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


person JuCachalot    schedule 30.06.2011    source источник
comment
Используйте -O с wget или curl вместо wget.   -  person slezica    schedule 30.06.2011


Ответы (3)


вывод 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 (но, конечно, перенаправление вывода также работает).

person Konerak    schedule 30.06.2011

wget -O /dev/null ....

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

person Gryphius    schedule 30.06.2011

вы можете отключить вывод wget с параметром --quiet

wget  --quiet    http://example.com
person augusto    schedule 04.09.2013