Executando o php como sudo dentro do crontab [duplicado]

1

Eu escrevi um PHP-Script, e a execução requer permissão sudo, porque ele executa algumas outras coisas relacionadas ao sistema. Então, adicionei isso no crontab -e , mas não consigo ver que meu script está sendo executado corretamente.

Comando:

*/5 * * * * /usr/bin/php /srv/www/php/script.php && date > /srv/www/php/mylog.log

A única saída é a data. Nenhuma resposta do meu roteiro. É executável (chmod a + x) e se eu usar o mesmo comando no terminal como root, tudo está bem. Então, é até crontab -e ?

Também assegurei-me de que meu cronjob está em execução (/ var / log / syslog):

Oct 23 16:40:01 $MYMACHINE CRON[13797]: (root) CMD (/usr/bin/php /srv/www/php/script.php && date > /srv/www/php/mylog.log)

E isso a cada 5 minutos. Também o meu "mylog.log" sempre tem o último registro de data e hora, então eu acho que pode haver um problema com o script dentro dele.

EDITAR: Eu criei outro script de teste para verificar se os scripts foram executados ou não. Mas o script foi executado, então é um problema dentro do script.

Estou tentando adicionar dinamicamente IPs a uma cadeia de iptables:

#!/bin/bash
value='cat whitelist.txt'
#echo "$value"

for i in $(echo $value | tr "," "\n")
do
  # process
  /sbin/iptables -I teamspeakCommunication --src $i -j ACCEPT
done

Você pode ver algo estranho?

    
por Tyralcori 23.10.2015 / 16:37

1 resposta

1

Adicione ao seu arquivo / etc / crontab assim:

*/5 * * * * root /usr/bin/php /srv/www/script.php && date > /srv/www/php/mylog.log

Se a primeira linha do seu script for #!/usr/bin/php e também a permissão de execução, você poderá chamá-la diretamente como qualquer outro script, como os escritos em bash, perl, etc ...

Atenciosamente!

    
por 23.10.2015 / 18:46