[PHP] - cron et php, ça veut pas
Posté : mer. 29 mai 2019 18:32
J'ai un truc bizarre avec une tâche cron qui lance un script php.
Mon script php récupère des infos, et les enregistre dans un fichier json. Jusque la tout fonctionne correctement.
Je voulais que ce script soit exécuté toutes les 15 min, je fais donc une tâche cron comme ceci : crontab -e
et là rien ne se passe, je veux dire que mon fichier json n'est pas mis à jour. J'ai essayé différentes choses, mettre php -f /home/pi/www/crypto/getPrices.php, sans le -f, rien n'y fais.
Passer par un script bash
appelé par ne fonctionne pas aussi.
En cherchant sur le net j'ai fini par rajouter > /home/pi/www/crypto/getPrices.log 2>&1 à la ligne cron.Le fichier log est bien créé, mais vide, et mon fichier json n'est toujours pas à jour.
J'ai fini par essayer de faire le cron par l'user root : sudo crontab -e. Et la ça fonctionne !!!
Que ce soit le /usr/bin/php -f ou par un fichier bash ça fonctionne.
Pourquoi le cron de l'utilisateur pi ne marche pas? et celui de root fonctionne ???
De plus le fichier log, et le fichier json sont des fichier pi ( et non pas root )
Quand on fait sudo crontab -e c'est bien l'utilisateur root ?
Je comprends plus rien.
Mon script php récupère des infos, et les enregistre dans un fichier json. Jusque la tout fonctionne correctement.
Je voulais que ce script soit exécuté toutes les 15 min, je fais donc une tâche cron comme ceci : crontab -e
Code : Tout sélectionner
*/15 * * * * /usr/bin/php -f /home/pi/www/crypto/getPrices.php
Passer par un script bash
Code : Tout sélectionner
#!/bin/bash
cd /home/pi/www/crypto/
php -f getPrices.php
Code : Tout sélectionner
*/15 * * * * /home/pi/www/crypto/cronphp.sh
En cherchant sur le net j'ai fini par rajouter > /home/pi/www/crypto/getPrices.log 2>&1 à la ligne cron.
Code : Tout sélectionner
*/15 * * * * /home/pi/www/crypto/cronphp.sh > /home/pi/www/crypto/getPrices.log 2>&1
J'ai fini par essayer de faire le cron par l'user root : sudo crontab -e. Et la ça fonctionne !!!
Que ce soit le /usr/bin/php -f ou par un fichier bash ça fonctionne.
Pourquoi le cron de l'utilisateur pi ne marche pas? et celui de root fonctionne ???
De plus le fichier log, et le fichier json sont des fichier pi ( et non pas root )
Quand on fait sudo crontab -e c'est bien l'utilisateur root ?
Je comprends plus rien.