Как настроить команду задания wget cron
как настроить команду задания cron для выполнения URL-адреса?
/usr/bin/wget -q http://www.domain.com/cron_jobs/job1.php >/dev/null 2>&1
почему я не могу сделать эту работу!? Перепробовали все.. Скрипт PHP должен отправить электронное письмо и создать некоторые файлы, но ничего не сделано
команда возвращает это:
Output from command /usr/bin/wget -q http://www.domain.com/cron_jobs/job1.php ..
No output generated
... но он все равно создает пустой файл в /root
на каждой выполнить!? Почему?
4 ответов
используйте curl следующим образом:
/usr/bin/curl http://domain.com/page.php
Не беспокойтесь о выходе, он будет проигнорирован
у меня была та же проблема. Решение заключается в понимании того, что wget выводит две вещи: результаты запроса url и сообщения об активности о том, что он делает.
по умолчанию, если вы не укажете выходной файл, он создаст один, по-видимому, названный в честь файла в вашем url-адресе, в текущей папке, где выполняется wget.
если вы хотите указать другой выходной файл:
-O outputfile.txt
выведет результаты url в outputfile.формат txt, overrwriting что там.
если вы хотите добавить в этот файл, напишите в std out, а затем добавьте в файл оттуда: и вот трюк: написать в std out use:
-O-
второй тире вместо имени файла и говорит wget записать результаты url в std out.
затем используйте синтаксис append,>>, чтобы добавить в файл по вашему выбору:
wget -O- http://www.invisibility.com >>/var/log/invisibility.log
нижний регистр o указывает местоположение журнала действий, поэтому, если вы хотите войти активность для запроса url, вы можете:
wget -o http://someurl.com /var/log/activity.log
- q подавляет вывод сообщений активности
wget -q http://someurl.com /var/log/activity.log
не будет регистрировать какую-либо деятельность в указанном файле, и я думаю, что суть где люди запутываются.
запомнить: - O-сокращение от --output-document - o-сокращение от --output-file, который является журналом активности.
мне потребовалось несколько часов, чтобы заставить его работать. Спасибо, что люди записывают решения. Также необходимо проверить, нужны ли одинарные или двойные кавычки, иначе он будет анализировать url неправильно, что приведет к сообщениям об ошибках:
это сработало (используя одинарные кавычки):
/usr/bin/wget -O -q 'http://domain.com/cron-file.php'
это дало ошибки (с использованием двойных кавычек):
/usr/bin/wget -O -q "http://domain.com/cron-file.php"
Не знаю, нужен ли /usr/bin/. Прочтите о различных способах как сделать заказ на КВ. Трудно найти надежный окончательный источник в интернете для этой темы. Так много разных примеров.
онлайн-руководство wget можно найти здесь, для доступных опций (но проверьте с дистрибутивом Linux, который используется для обновленной версии): http://unixhelp.ed.ac.uk/CGI/man-cgi?wget