Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Cron !!!!
#1

Bonjour,
Voilà quelques heures que j'essaie de lancer un python avec cron.

j'ai ajouté la ligne suivante dans le fichier crontab du répertoire /etc/cron.d/ à l'aide de nano
Code :
* * * * * root /usr/bin/python2.7 /var/www/scriptpython/ScriptPiscine.py

ScriptPiscine.py lit un fichier texte où sont sauvé les horaires de pompage de la piscine et commande grâce à une interface i2c le relais de la pompe.

/usr/bin/python2.7 /var/www/scriptpython/ScriptPiscine.py : cette ligne de commande fonctionne parfaitement quand je la lance avec putty

Je n'arrive pas à ce que ça fonctionne avec cron !

Je demande gentiment de l'aide car je n'ai plus d'idée ...
Merci
Répondre
#2

Si tu enlèves « root », ça devrait aller mieux.
Répondre
#3

Merci pour ta rapide réponse Chevelu, .... mais ça ne fonctionne toujours pas !

il y a un truc qui me dépasse : j'édite crontab du répertoire /etc :
Code :
[email protected]:/etc# crontab -e
  GNU nano 2.2.6       Fichier : /tmp/crontab.HVDtmM/crontab           Modifié

# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
* * * * * /usr/bin/python2.7 /var/www/scriptpython/ScriptPiscine.py
j'édite crontab du répertoire /etc avec le notepad++ en l'exportant avec filezilla, je n'ai pas le même !!!
Code :
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user    command
17 *    * * *    root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

je n'y comprends plus rien!!!!!
Répondre
#4

AAAARRRGHHH ! Big Grin

Je ne sais pourquoi putty m'ouvre un fichier crontab qui est dans tmp/crond..... qui n'est pas celui qui est utilisé.
J'ai donc modifié le crontab de /etc avec le notepad++ en l'important en local et je l'ai retransféré à sa place et maintenant :
Ca Marche !!

Comme l'exemple du fichier en question précisait l'utilisateur, j'ai remis "root"
Merci
Répondre
#5

Si je puis me permettre, l'édition d'un crontab se fait toujours avec la commande crontab. De même que le fichier sudoers s'édite toujours avec la commande visudo.
Ce ne sont pas de simples fichiers, il y a des actions post-édition qui permettent de gérer ensuite les données entrées dans ces fichiers.
Répondre
#6

Bonjour,

Une autre remarque si je puis me permettre ;-)

La syntaxe "quel que soit la minute, heure, jour, etc." suivante
Code :
...
# m h  dom mon dow   command
* * * * * <command> ...
...
va lancer la commande toutes les minutes d'où mes remarques:
- J'espère que le script s'exécute en moins d'une minute !
- Sinon, une protection de réentrance est à prévoir !!
- Ne crois-tu pas que toutes les 5 minutes voire 10 minutes serait plus approprié...

Ne pas tenir compte de ma dernière remarque si "les horaires de pompage de la piscine doivent effectivement être sauvés" toute les minutes ;-)
Si vraiment le cas, ne serait-ce pas au script de s'en occuper au moyen d'un thread "dormant" qui ne coutera rien en temps CPU
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)