OVH Cloud OVH Cloud

Cron

3 réponses
Avatar
Kybla
Les scripts exécutés par "cron" s'exécutent avec un environnement
minimal, cela est insuffisant pour réaliser ce que je veux.

Est-ce que quelqu'un sait comment je peux faire pour exécuter une
commande avec l'environnement complet de l'utilisateur qui l'exécute ?

Par exemple si l'utilisateur X à une entrée dans sa "crontab" que
celle-ci soit lancé avec l'environnement complet de X.

Merci pour votre aide

3 réponses

Avatar
R12y
Kybla wrote:
Par exemple si l'utilisateur X à une entrée dans sa "crontab" que
celle-ci soit lancé avec l'environnement complet de X.


De ce que je sais, les "environnements" sont produits par /etc/bashrc et
éventuellement $HOME/.bashrc quand on utilise bash. (Si j'ai faux, ça va
être une occasion pour moi d'en apprendre)
Dans ton script qui se fait "cronner" tu peux sourcer ces deux fichiers et
tu devrais normalement avoir le tout.

--
Un CMS Français à découvrir: CPS. (http://www.cps-project.org)
Hébergement gratuit de sites Zope, Plone, et CPS: http://www.objectis.org
Un lien qui peut servir:
http://www.google.fr/search?q=aspo+infogerance+serveur

Avatar
Kybla
R12y wrote:
Kybla wrote:

Par exemple si l'utilisateur X à une entrée dans sa "crontab" que
celle-ci soit lancé avec l'environnement complet de X.



De ce que je sais, les "environnements" sont produits par /etc/bashrc et
éventuellement $HOME/.bashrc quand on utilise bash. (Si j'ai faux, ça va
être une occasion pour moi d'en apprendre)
Dans ton script qui se fait "cronner" tu peux sourcer ces deux fichiers et
tu devrais normalement avoir le tout.

Je n'ai pas de /etc/bachrc et mon $HOME/.bashrc ne contient pas tout

l'environnement ... je suis sous gentoo.


Avatar
Matthieu Moy
Kybla writes:

Je n'ai pas de /etc/bachrc et mon $HOME/.bashrc ne contient pas tout
l'environnement ... je suis sous gentoo.


/etc/profile et $HOME/.profile peut-être.

les bashrc sont spécifiques a bash, et sauf erreur de ma part, cron
utilise /bin/sh. Un moyen d'être sur du shell utilisé, c'est de mettre
comme tâche cron

bash -c "/chemin/vers/mon/script/cron"

--
Matthieu