2010-02-23 4 views
12

У меня есть PHP-скрипт, который я хочу запускать каждую минуту, чтобы увидеть, есть ли новостные сообщения, которые должны быть опубликованы. Я использовал «wget» для команды cron в cPanel, но я заметил (через пару дней), что это создавало пустой файл в главном каталоге каждый раз, когда он запускался. Есть ли что-то, что мне нужно, чтобы остановить это?Cron job, создающий пустой файл каждый раз, когда он запускается

Спасибо.

+0

Каково было имя файла и было ли оно продолжаться после завершения работы? –

+0

у меня есть проблема. Я создал работу cron cpanel. в каком файле я запустил файл с одинаковым именем, созданный в корневом каталоге –

ответ

30

Когда wget работает, по умолчанию он генерирует выходной файл из того, что мне нужно запомнить.

Возможно, вам нужно использовать опцию wget, чтобы указать, к какому файлу он должен написать свой вывод, и использовать /dev/null в качестве файла назначения (Это «специальный файл», который «съест» все, что вы можете написать она)


Судя человека Wget, вариант -O или --output-file будет хорошим кандидатом:

-O file
--output-document=file
Документы не будут записываться в соответствующие файлы, но все они будут объединены вместе и записаны в файл.

так, то вам, возможно, придется использовать что-то вроде этого:

wget -O /dev/null http://www.example.com/your-script.php 


И, кстати, выход сценариев запуска из кронтаб часто перенаправляются в лог-файл - это всегда может помочь.

Нечто подобное могло бы помочь, о том, что:

wget -O /dev/null http://www.example.com/your-script.php >> /YOUR_PATH_logfile.log 

И вы также можете перенаправить вывод сообщения об ошибке в другой файл (может быть полезно, чтобы помочь при отладке, на следующий день что-то пойдет не так):

wget -O /dev/null http://www.example.com/your-script.php >>/YOUR_PATH/log-output.log 2>>/YOUR_PATH/log-errors.log 
+4

«-q» отключит вывод Wget, если вам не нужен какой-либо вывод. – Danny

+0

@ Danny -q, очевидно, не всегда достаточно. мой хост def нужен -O/dev/null там. Также обратите внимание, что -o НЕ эквивалентно. Столица «O» должна быть важной для некоторых или всех систем. –

+0

'-q' не работает. Cron все еще создает временные файлы на сервере. Нужно ли перезапускать cron после внесения изменений в текущий cron? Если да, то как это сделать? –

Смежные вопросы