Задание Cron создает пустой файл при каждом запуске - PullRequest
18 голосов
/ 24 февраля 2010

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

Спасибо.

1 Ответ

39 голосов
/ 24 февраля 2010

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

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


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

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

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

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


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

Может помочь что-то вроде этого:

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
...