1

Почему мой cron */1 * * * * /usr/bin/php /var/www/query/query.php &> /root/querylog.log сохраняет выходные данные query.php в папке /root /?

(этот скрипт должен сохранить * .txt в своем месте)

It should do so at /var/www

Владельцем папки var/www/query/ является web-data .

Запуск его на Debian Squeeze 6.0

2 ответа2

3

Файл querylog.log сохраняется в каталоге /root потому что именно там, где вы указали, его следует сохранить.

Если вы хотите изменить его местоположение, просто отредактируйте путь к желаемому местоположению, например /var/www/querylog.log .

1

Это происходит потому, что задание cron запускается от имени пользователя root, поэтому оно выполняется в $ HOME пользователя root, т. Е. /root .

Если вы хотите, чтобы задание cron выполнялось в другом месте, так чтобы вывод генерировался там, вы должны сначала переместиться туда, например, написать скрипт, который делает все, и запустить его из cron:

my_query.bash

cd /var/www
/var/www/query/query.php &> /root/querylog.log

И линия Cron становится

*/1 * * * * /bin/bash /path/to/script/my_query.bash

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .