J'ai écrit un script PHP, et l'exécution nécessite des permissions sudo, car il exécute d'autres éléments système. Donc j'ai ajouté cela dans le crontab -e
, mais je ne vois pas que mon script s'exécute correctement.
Commande :
*/5 * * * * /usr/bin/php /srv/www/php/script.php && date > /srv/www/php/mylog.log
La seule sortie est la date. Aucune réponse de mon script. Il est exécutable (chmod a+x) et si j'utilise la même commande dans le terminal en tant que root, tout va bien. Donc c'est lié à crontab -e
?
J'ai également vérifié que mon travail cron tourne (/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)
Et cela toutes les 5 minutes. De plus, mon "mylog.log" a toujours le dernier horodatage, donc je suppose qu'il doit y avoir un problème avec le script à l'intérieur.
ÉDITION : J'ai créé un autre script de test pour vérifier si les scripts s'exécutent ou non. Mais le script a été exécuté, donc c'est un problème à l'intérieur du script.
J'essaie d'ajouter dynamiquement des IPs à une chaîne iptables :
#!/bin/bash
valeur=`cat whitelist.txt`
#echo "$valeur"
for i in $(echo $valeur | tr "," "\n")
do
# process
/sbin/iptables -I teamspeakCommunication --src $i -j ACCEPT
done
Pouvez-vous voir quelque chose d'étrange ?
0 votes
@AD7six s'il vous plaît voir ma modification :)
0 votes
Eh bien, j'étais en train d'écrire une réponse basée sur le format erroné de votre ligne de cron, mais depuis lors, vous avez modifié votre question pour qu'elle ressemble à ce qu'elle devrait être. Aviez-vous le format initial dans votre crontab ou celui que vous avez actuellement dans la question?
0 votes
Oui, excusez-moi. J'ai modifié à l'intérieur de mon Crontab -e. De plus, le journal des erreurs php est vide. Mais je doute vraiment que le problème ne soit pas php combiné à sudo. J'ai ajouté la commande en tant que root.
0 votes
Vous attendez-vous à obtenir la sortie de votre script dans
mylog.log
?