[Résolu] Crontab et script Python

Bonjour à tous,

je suis nouveau et on peut dire en rodage. J’ai relié un DHT22 à mon raspberry. J’ai fait un script python (ça m’a prit des heures!) pour récupérer les valeurs dans un fichier texte : ça marche (trop fier) :

#! /usr/bin/python
fichier=open("/home/pi/Documents/Cave/Humiditecave.txt",« a »)
import Adafruit_DHT
sensor=22
pin=4
from datetime import datetime
from time import strftime
date=datetime.now()
date=date.strftime("%Y-%m-%d %H:%M:%S, ")
humidity, temperature = Adafruit_DHT.read_retry(sensor,pin)
chaine="\n"+date+str(temperature)+","+str(humidity)
fichier.write(chaine)
fichier.close()

Quand je dis que ça marche c’est que ça ajoute une ligne avec l’heure et les valeurs quand j’exécute le script.

Maintenant je voudrait que chaque heure (là c’est par minute mais c’est pour vérifier) il fasse un enregistrement dans le fichier, crontab me parait bien.

sudo su
crontab -e

j’ajoute
*/1 * * * * /usr/bin/python /home/pi/Documents/Cave/HR.py

Ca marche pas, ça m’énerve!! Où que c’est que je me suis planté???

Merci d’avance pour votre aide

hello,

tu pourrais essayer de rendre exécutable ton script et de le lancer sans /usr/bin/python devant
. sur la première ligne de ton prog, rajoute : (oops y est déjà )

#!/usr/bin/python

. ensuite rends le executable
chmod +x /home/pi/Documents/Cave/HR.py

. ds le crontab
@hourly /home/pi/Documents/Cave/HR.py
. ou
0 * * * * /home/pi/Documents/Cave/HR.py

Merci mais ça ne marche pas.
J’ai ajouté (pour voir) */1 * * * * /home/pi/Documents/Cave/HR.py mais ça ne change rien
Si je clique 2 fois sur HR.py j’ai une boîte de dialogue (je suis un vieux windowsien) Exécuter, Lancer dans un terminal, ouvrir ou annuler. Excécuter ça met à jour le fichier et je suis content

Yo,

Là, comme ça, je propose :
*/2 * * * * pi cd /home/pi/Documents/Cave/ && python3 HR.py

Et ton script python a reçu un coup de chmod +x avant par principe

++

Edit : je préfère mettre */2 car pas sûr du */1

merci pour ta réponse Nabla
un tit coup de chmod +x : chmod +x /home/pi/Documents/Cave/HR.py ce qui ne renvoie aucun message dans la console.
j’ai ajouté la ligne

dans crontab (que j’exécute après sudo su)
toujours rien snif ;
le crontab c’est :
*/2 * * * * pi cd /home/pi/Documents/Cave/ && python3 HR.py
*/2 * * * * /home/pi/Documents/Cave/HR.pi
*/2 * * * * /usr/bin/python /home/pi/Documents/Cave/HR.py
Franchement je n’y comprend rien, j’ai pourtant l’impression que rien ne manque

je vous fait part de mes avancées : dans crontab -e la ligne */2 * * * * /home/pi/Documents/Cave/HR.pi >> /home/pi/Documents/Cave/Humiditecave.txt fait exactement le job
Sujet résolu !

2 L8 … - à supprimer----------------------------------

Je n’ai pas compris! J’ai fini par trouver la solution alors ce n’est pas important

Sujet passé en [Résolu]

Petite remarque.
Il semblerait que je bosse « crade » car bosse dans crontab directement :wink:

Sinon, à noter que tu fais 2 actions ici avec
*/2 * * * * /home/pi/Documents/Cave/HR.pi >> /home/pi/Documents/Cave/Humiditecave.txt

*/2 * * * * /home/pi/Documents/Cave/HR.pi
C’est le lancement de ton script HR.pi en tache cron

Et
>> /home/pi/Documents/Cave/Humiditecave.txt
permet d’enrichir le fichier Humiditecave.txt

@+

Je fais sudo su pour avoir les droits totaux. Je suis d’accord, 2 actions mais ça marche (je m’en contente). Le script seul ne metait pas à jour le fichier quand je passais par crontab et c’est la solution, peut être pas académique, que j’ai trouvée. Il y a aussi 2 fichiers avec le même nom dans le même répertoire mais ça ne pose pas de problème majeur (les txt). Merci encore

Ce n’était pas du tout une critique.
Je préférais le noter pour ajouter une dimension didactique complémentaire car l’intérêt d’un forum est de résoudre son souci (ou celui du demandeur) tout en aidant les futurs visiteurs :wink:

Je ne l’ai pas mal pris. Encore merci pour l’aide que j’ai reçue. Je ne sais pas si je pourrais enlever du script la partie enregistrement pour ne l’avoir que dans le planificateur. Maintenant que ça marche je n’essaye pas, le mieux est l’ennemi du bien. J’aimerais maintenant que ça alimente une page web pour actualiser un graphique en temps réel, en Jason par exemple, mais il va falloir que je me documente et que j’expérimente. Je pense que je n’aurais pas fini d’ici le deconfinement…