
Quero executar um script php usando o cron job no localhost. Meu script está localizado em:
/opt/lampp/htdocs/rrugd/myscript.php
Como opt está no root, tentei adicionar o cron job para root, assim como para o usuário normal, mas ele não está em execução. Este é o cron job para executar o script php a cada 2 minutos:
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
Meu script serve basicamente para truncar uma tabela do banco de dados. Na verdade, isso acontecerá à meia-noite, então as variáveis reais do cron job mudarão para
00 00 * * * php /path/to/script.php
Mas para testes usei a cada dois minutos. Pesquisei na internet e no AU, mas não consigo executá-lo. Vi algo relacionado à configuração de um PATH mas não entendi o que fazer exatamente nesse método.
Além disso, gostaria de especificar que o script PHP myscript.php
NÃO foi executado na CLI com o comando PHP, porém ele é executado quando executado ou chamado através do navegador no host local!
Informações PHP:
some@somepc$: php -v
PHP 5.5.3-1ubuntu2.2 (cli) (built: Feb 28 2014 20:06:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
Responder1
Assumindo que éphp5; Existem exemplos de uso de php em um cronjob. Você pode tentar um destes seguindo;
- Para usar
php5
no terminal você precisaráphp5 cli
instalado. Primeiro, verifique sephp5 & cli
a funcionalidade está disponível. por isso;
johan@ubusrv:~$ php -v PHP 5.2.4-2ubuntu5.3 com Suhosin-Patch 0.9.6.2 (cli) (construído: 23 de julho de 2008 06:44:49) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Direitos autorais (c) 1998-2007 Zend Technologies
O comando exibe sua versão do php5 junto com o php5 (cli) instalado. Caso contrário, instale-o usando o seguinte comando;
sudo apt-get install php5-cli
- Uma vez instalado, você pode adicionar
php
seu caminho binário ao cronjob conforme abaixo;
usandophpouphp5
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
usandophpcaminho binário
*/2 * * * * /usr/local/bin/php /opt/lampp/htdocs/rrugd/myscript.php
Você também pode usar os comandos abaixo para descobrir onde seuphp/php5caminho é;
johan@ubusrv:~$ qual php /usr/bin/php johan@ubusrv:~/cli$ onde está php php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz johan@ubusrv:~/cli$ type -a php php é /usr/bin/php
- Em outro lugar, se você precisar chamar um script php usando URL; você pode simplesmente usarlince,ondulaçãoouwget. Certifique-se de ter colocado seu script php no diretório
www
oupublic_html
e chame o caminho corretamente no cronjob.
*/2 * * * * wget -q http://localhost//myscript.php
Mais sobre: PHP Cron Job: como executar script PHP usando Crontab no Linux