Configure um cronjob para script PHP no Ubuntu 16.04 e PHP 7.0

1

Está me deixando louco que eu quero configurar um cronjob para script PHP no Ubuntu 16.04.

Eu insiro este comando no terminal

$ crontab -e

Então eu escolho nano editor que é recomendado pelo Ubuntu. Então eu entro na linha de sopro para isso. Então eu pressiono control + C, pedindo Y / N para salvar. Eu pressiono Y e F2 para fechar.

* */2 * * * root php /var/www/html/script.php

outras tentativas são,

* */2 * * * /var/www/html/script.php
* */2 * * * root /var/www/html/script.php

Depois de reiniciar o cron usando o comando abaixo.

sudo /etc/init.d/cron restart

Em seguida, eu verifico crontab list crontab -l ele diz que nenhum cron job foi definido para o usuário root.

Eu tentei criar diretamente um arquivo crontab.txt no diretório cron.hourly / cron.d com uma das linhas acima.

Eu tentei inúmeros fóruns e todos disseram crontab -e , em seguida, insira ou crie um arquivo crontab dentro do diretório cron. Nada está me ajudando. Estou coçando minha cabeça.

Qual é a maneira correta de criar o cronjob para o script php no Ubuntu 16.04 & amp; versão 7.0 do php

    
por Naga 19.12.2016 / 08:44

2 respostas

2

crontab -e não deve ter a parte root , que especifica o nome de usuário ( crontab -e já edita o crontab de um usuário específico).

Se você deseja executar como root, faça sudo crontab -e e use:

* */2 * * * php /var/www/html/script.php

ou crie um arquivo em /etc/cron.d contendo:

* */2 * * * root php /var/www/html/script.php
    
por muru 19.12.2016 / 08:57
1

O Crontab é usado assim: crontab -u <username> -e . -u <username> part pode ser omitido para o usuário atual. Se você quiser usá-lo para usuário root, use sudo crontab -e . Então você digita seus arranjos de programação * */2 * * * e o último argumento na linha é a linha para executar seu script. Quando você termina, o crontab escreve a saída se você instalou o trabalho com sucesso ou não. Há algumas coisas que você precisa considerar sobre o último argumento.

  1. Você tem o php-cli instalado? Se não, o php não irá funcionar a partir da linha de comando. ( sudo apt-get install php7-cli )
  2. Quando você tiver o php-cli instalado, certifique-se de que o crontab encontre o executável do php. O crontab não tem necessariamente o mesmo $ PATH. Digite which php e use o caminho completo em crontab * */2 * * * /usr/bin/php /var/www/html/script.php . Bem /usr/bin deve estar no caminho do crontab. Este passo provavelmente não é necessário, mas não faz mal.

O Apache não tem nada a ver com seus scripts crontab porque os scripts php são executados a partir da linha de comando neste caso. Você pode ter problemas com o script PHP se confiar em alguns dados relacionados ao apache em seu script, que não estão acessíveis na linha de comando.

    
por nobody 19.12.2016 / 09:16