
Eu tenho um arquivo php localizado em, 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). Preciso executar esse arquivo a cada minuto, todos os dias.
Eu sei que posso abrir o crontab com crontab -e
, mas não tenho certeza do que exatamente devo escrever no arquivo para que o que preciso fazer funcione.
Alguma ajuda, por favor?
Responder1
execute crontab -e
e adicione a 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
faz o que deseja. Observe também que o cron irá executá-lo como o mesmo usuário que chamou crontab -e
, portanto, se você executá-lo como usuário rimmer, ele será executado como rimmer; se for root, ele será executado como root.
se você quiser que ele seja executado como usuário apache, faça:
sudo -u www-data crontab -e
assumindo que www-data é seu usuário Apache. Você também pode criar um arquivo /etc/cron.d/my-php-job
.
Certifique-se de que nenhum bandido possa editar o arquivo /data/web/process.php e revise-o cuidadosamente. Eu tornaria esse arquivo de propriedade raiz e com permissão 644. Não torne o apache de propriedade do usuário e gravável.
Responder2
Experimente o seguinte:
/path/to/php -f /data/web/process.php