Como definir o CRON para executar um arquivo php fora de uma pasta html pública?

2

Eu tenho um arquivo php localizado, digamos, por exemplo:

/data/web/process.php

Este arquivo não está disponível publicamente (nenhum host virtual está sendo executado nessa pasta, mas o apache está instalado). Eu preciso executar esse arquivo a cada minuto todo dia.

Eu sei que posso abrir o crontab com crontab -e , mas não sei exatamente o que devo escrever no arquivo para que o que eu preciso fazer funcione.

Qualquer ajuda, por favor?

    
por Richard Rodriguez 07.09.2011 / 15:51

2 respostas

0

execute crontab -e e adicione linha:

* * * * * /usr/bin/php -f /data/web/process.php 2>&1 >> /path/to/output/file.log

Antes de fazer isso, certifique-se de que /usr/bin/php -f /data/web/process.php faça o que você deseja. Note também que o cron irá executá-lo como o mesmo usuário que chamou crontab -e , então se você executá-lo como usuário rimmer ele será executado como rimmer, se como root, ele será executado como root.

se você quer que ele seja executado como usuário do apache, faça:

sudo -u www-data crontab -e

assumindo www-data é o seu usuário apache. Você também pode criar um arquivo /etc/cron.d/my-php-job .

Certifique-se de que nenhum malfeitor possa editar o arquivo /data/web/process.php e revisar o arquivo com cuidado. Eu faria com que esse arquivo fosse root e com a permissão 644. Não o torne de propriedade e gravável pelo usuário do apache.

    
por 07.09.2011 / 16:37
1

Tente o seguinte:

%pr_e%

    
por 07.09.2011 / 16:22