2011-06-30 2 views
2

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

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

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

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

+0

Использование -O с 'wget' или' curl' вместо 'wget'. – slezica

ответ

10

выход 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 manpage. Вы также найдете опцию -q для полного отключения вывода на STDOUT (но, конечно, перенаправление вывода, как и вы, тоже работает).

+0

спасибо Konerak! – JuCachalot

1

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

wget --quiet http://example.com 
Смежные вопросы