Bonjour
J’ai un script script.sh dans /etc/cron.daily qui appelle un script python script.py situe dans /home/moi/bin… jusque la tout va bien.
Le probleme vient d’une ligne du script python (os.environ[‘USER’]) qui est sense me retourner le nom de l’utilisateur executant le script. Or le script me renvoie une erreur quand il est execute par cron dans cron.daily :
Traceback (most recent call last):
File "/home/user/script", line 11, in <module>
f.write('user = ' + os.environ['USER'])
File "/usr/lib/python2.6/UserDict.py", line 22, in __getitem__
raise KeyError(key)
KeyError: 'USER'
L’erreur n’est pas une erreur python mais plutot vient de ma (non-)comprehension de comment s’execute le script dans cron.daily car le script s’execute sans probleme dans le shell (user ou root), appeler directement ou pas (/etc/cron.daily/script.sh ou /home/user/bin/script.py).
Le KeyError signifie que la clef USER du dictionnaire os.environ soit n’existe pas, soit n’a pas de valeur valide. Quelqu’un a t il une explication ?
Merci