Por que o cron salva em / root, quando deveria em / var / www?

1

Por que meu cron */1 * * * * /usr/bin/php /var/www/query/query.php &> /root/querylog.log salva a saída query.php na pasta / root /?

(este script deve salvar * .txt em sua localização)

It should do so at /var/www

O proprietário da pasta var/www/query/ é web-data .

Executando no Debian Squeeze 6.0

    
por Szymon Toda 16.07.2012 / 05:44

2 respostas

3

O arquivo querylog.log é salvo no diretório /root porque é exatamente onde você especificou que deve ser salvo.

Se você quiser alterar sua localização, basta editar o caminho para o local desejado, por exemplo, /var/www/querylog.log .

    
por 16.07.2012 / 05:59
1

Isso acontece porque o cron job é executado como usuário root, portanto, ele é executado no $ HOME do usuário raiz, ou seja, /root .

Se você quiser que o cron job seja executado em outro local, para que a saída seja gerada lá, você deve mover primeiro para lá, por exemplo, escrevendo um script que faz tudo e o executa do cron:

my_query.bash

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

E a linha do cron torna-se

*/1 * * * * /bin/bash /path/to/script/my_query.bash
    
por 19.07.2012 / 09:23