Problème avec crontab
Modérateur : Francois
Problème avec crontab
Bonjour,
Avec ‘sudo crontab -e' j'ai ajouté deux lignes :
0 8 * * * /home/alarme/ras_journalier.py > /dev/null
***/15 * * * * /home/alarme/ventil.py > /dev/null
La première fonctionne parfaitement, mais pas la seconde !
J'ai alors remplacé :
> /dev/null
par :
>> /home/pi/journal.txt 2>&1
et j'obtiens en réponse :
/bin/sh: 1: /home/alarme/ventil.py: not found
Bien sûr les deux programmes sont présents dans le même registre et ont les même droits.
Pouvez-vous m'expliquer ?
Merci d'avance ! :
Avec ‘sudo crontab -e' j'ai ajouté deux lignes :
0 8 * * * /home/alarme/ras_journalier.py > /dev/null
***/15 * * * * /home/alarme/ventil.py > /dev/null
La première fonctionne parfaitement, mais pas la seconde !
J'ai alors remplacé :
> /dev/null
par :
>> /home/pi/journal.txt 2>&1
et j'obtiens en réponse :
/bin/sh: 1: /home/alarme/ventil.py: not found
Bien sûr les deux programmes sont présents dans le même registre et ont les même droits.
Pouvez-vous m'expliquer ?
Merci d'avance ! :
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: Problème avec crontab
Bonjour, je crois qu'il y a un peu trop d'étoile dans la deuxième commande :
de plus /15 ne doit pastre reconnu comme horaire.
Code : Tout sélectionner
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user command to be executed
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
Re: Problème avec crontab
Oups!
C'est bien :
*/15 * * * * /home/alarme/ventil.py > /dev/null
avec 5 étoiles.
Le */15 est parfaitement reconnu et me sort bien "/bin/sh: 1: /home/alarme/ventil.py: not found" tous les quarts d'heure !
C'est bien :
*/15 * * * * /home/alarme/ventil.py > /dev/null
avec 5 étoiles.
Le */15 est parfaitement reconnu et me sort bien "/bin/sh: 1: /home/alarme/ventil.py: not found" tous les quarts d'heure !
-
- Raspinaute
- Messages : 1588
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Problème avec crontab
Salut,
Est-ce que l'utilisateur a bien acces à ton fichier ? que dit
Quel est l'interpréteur de ton fichier .py ? Est-il lui aussi accessible ?
Est-ce que l'utilisateur a bien acces à ton fichier ? que dit
Code : Tout sélectionner
ls -l /home/alarme/ventil.py
Code : Tout sélectionner
head 1 /home/alarme/ventil.py
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
-
- Raspinaute
- Messages : 1588
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Problème avec crontab
Salut,
Est-ce que le fichier est bien accessible à ton user ? Que donne
Quel est l'interpréteur utilisé et est-il accessible ?
Est-ce que le fichier est bien accessible à ton user ? Que donne
Code : Tout sélectionner
ls -l /home/alarme/ventil.py
Code : Tout sélectionner
head -1 /home/alarme/ventil.py
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
Re: Problème avec crontab
Merci à tous !
A la lecture du message de Fred (télémaintenance) j'ai ajouté "python", et là, miracle, ça marche !
Mais pourquoi la première ligne, sans python marche aussi ???
A la lecture du message de Fred (télémaintenance) j'ai ajouté "python", et là, miracle, ça marche !
Mais pourquoi la première ligne, sans python marche aussi ???
Re: Problème avec crontab
Pour réponse à "pourquoi ca marche pour la 1ère ligne", regardes les indices laissés par destroyedlolo juste au dessus, et regarde du côté de "Shell bang"
En gros, le mot "Python" que tu mets devant le nom du script, en général ça se met plutôt en toute première ligne du script. Par exemple
Pour indiquer à ton Shell quel interpréter utiliser.
En gros, le mot "Python" que tu mets devant le nom du script, en général ça se met plutôt en toute première ligne du script. Par exemple
Code : Tout sélectionner
#!/bin/python
Re: Problème avec crontab
Bien d'accord avec toi, la première ligne des deux programmes est :Korhm a écrit :en général ça se met plutôt en toute première ligne du script. Par exemple
Code : Tout sélectionner
#!/usr/bin/python
Re: Problème avec crontab
plop,
Ah, un problème UNIX classique !
Première chose à faire, lancer le programme directement dans un shell.
On devrait avoir les mêmes symptômes.
Vérifier :
Ah, un problème UNIX classique !
Hum, ça ressemble à un problème d'exécution.le crond de Ferois a écrit :Code : Tout sélectionner
/bin/sh: 1: /home/alarme/ventil.py: not found
Première chose à faire, lancer le programme directement dans un shell.
On devrait avoir les mêmes symptômes.
Vérifier :
- Les droits d'exécution
Code : Tout sélectionner
$> chmod +x /home/alarme/ventil.py
- Les droits des différents acteurs, user (propriétaire), exécuteur (quel cron, user ou root ?), etc.
- Le hashbang
Code : Tout sélectionner
#!/usr/bin/python
- L'encodage du fichier. Un grand classique, c'est d'avoir un caractère ^M (0x13) en fin de hashbang quand on a écrit le programme sous Windows. Pour s'en convaincre :
Code : Tout sélectionner
$> head -1 /home/alarme/ventil.py | cat -vte
- Ça semble ne pas être le cas, mais souvent les différences de fonctionnement entre un lancement à la main et un lancement par cron viennent de l'environnement. L'utilisateur utilise le bash ou le kornshell avec ses variables personnelles, et cron utilise le bourne shell (sh) sans fioriture.
Dans mon panier : rpi1A+ : »:: »:: | rpi1B : »:: »:: | rpi1B+ : »:: »:: | rpi2B : »:: »:: | rpi3B : »:: »:: | rpi0 : »::
Re: Problème avec crontab
Putain de line feed !
Sous mc, et en hexa j'ai remplacé 0A par 00 et c'est tout bon !
Toujours sous mc, on voit le ^M avec Modif (f4) mais avec Voir (f3) on voit rien
Je l'ai lancé dans la console et là j'obtiens :zeb a écrit : lancer le programme directement dans un shell
Code : Tout sélectionner
/home/alarme/ventil.py^M : mauvais interpréteur : aucun fichier ...
Toujours sous mc, on voit le ^M avec Modif (f4) mais avec Voir (f3) on voit rien