# [CRON] Utiliser des variables d'environnement.

## 404_crazy

Bonjour à tous,

J'ai un colle ce matin, je voudrais utiliser des variables dans mon crontab, j'ai créer deux variables "COMMANDE_POMPE et HEURE_POMPE".

Ensuite je voudrais les utiliser dans mon crontab. mais malheureusement cela ne fonctionne pas.

export COMMANDE_POMPE="touch /home/simon/testcron"

18 12 * * * $COMMANDE_POMPE

Pouvez vous m'aiguilliez SVP?

----------

## guilc

D'après "man 5 crontab" de mon cronie, pas besoin de export, et c'est sensé marcher !

----------

## 404_crazy

En effet, mais je créer ma variable d’environnement depuis un script externe (en php) avec export.

Ensuite je voudrais utilisé la valeur de ma variable de mon cron.

----------

## 404_crazy

Bonsoir à tous,

Désolé du double poste.

Pour résoudre plus proprement mon problème il me faux un demon cron qui puissent utiliser comme crontab une BDD en SQL, l'un d'entre vous aurait il une info sur l’existence d'un tel outil ?

Merci d'avance,

SF

----------

## geekounet

Ça serai prendre un tank pour écraser une mouche. Pour résoudre ton problème simplement, dans ton script plutôt qu'exporter une variable d'environnement (pour info ça ne se propage qu'aux processus fils, pas à tout le système et heureusement), tu lui fais générer un mini-script sh à un emplacement fixe où il a le droit d'écrire, genre /usr/local/bin/commande_pompe.sh, script qui contiendra donc ta commande variable, et c'est ce script généré que tu utilises dans le crontab. Si ton heure est variable aussi, tu fais exécuter le cron toutes les heures et tu check l'heure dans ton script générer. Si tu tiens à ton SQL, plutôt que génerer ce script, t'en codes un qui va chercher les infos en base SQL sur quoi et quand exécuter, qui lance sa commande si l'heure correspond, et tu mets ce script à toutes les heures dans le crontab.

Mais dans tous les cas, ça ne m'a pas l'air super clean ce que t'essaies de faire, ya peut-être moyen de faire plus simple, quel est le vrai problème/objectif exactement ?  :Smile: 

----------

## El_Goretto

Sinon, pour avoir déjà rencontré ce problème sur d'autres distros, il apparaissait (je crois) que c'était PAM qui filtrait les variables autorisées ou non à être transmises.

----------

## 404_crazy

 *Quote:*   

>  Mais dans tous les cas, ça ne m'a pas l'air super clean ce que t'essaies de faire, ya peut-être moyen de faire plus simple, quel est le vrai problème/objectif exactement ? 

 

De démarrer une pompe via un port gpio à une heure X et l'éteindre à une heure Y le tout gérable et modifiable via un browser.

----------

## geekounet

Dans ce cas c'est simple, tu fais un script PHP lancé toutes les heures, qui se connecte à ta base SQL, dans laquelle t'enregistres l'heure pour chacune des 2 actions (éteindre, allumer), compare l'heure actuelle avec celles en base, et si ça match une des 2, tu lances l'action correspondante sur ton port GPIO (soit direct en PHP si c'est possible, soit en éxecutant un script externe). Pas besoin de chercher plus compliqué.  :Wink: 

----------

