View previous topic :: View next topic |
Author |
Message |
404_crazy Tux's lil' helper
Joined: 22 Jan 2008 Posts: 145
|
Posted: Tue Sep 10, 2013 10:59 am Post subject: [CRON] Utiliser des variables d'environnement. |
|
|
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? |
|
Back to top |
|
|
guilc Bodhisattva
Joined: 15 Nov 2003 Posts: 3326 Location: Paris - France
|
|
Back to top |
|
|
404_crazy Tux's lil' helper
Joined: 22 Jan 2008 Posts: 145
|
Posted: Tue Sep 10, 2013 8:39 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
404_crazy Tux's lil' helper
Joined: 22 Jan 2008 Posts: 145
|
Posted: Thu Sep 26, 2013 7:35 pm Post subject: |
|
|
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 |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Thu Sep 26, 2013 9:08 pm Post subject: |
|
|
Ç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 ? |
|
Back to top |
|
|
El_Goretto Moderator
Joined: 29 May 2004 Posts: 3169 Location: Paris
|
Posted: Thu Sep 26, 2013 9:37 pm Post subject: |
|
|
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. _________________ -TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT) |
|
Back to top |
|
|
404_crazy Tux's lil' helper
Joined: 22 Jan 2008 Posts: 145
|
Posted: Fri Sep 27, 2013 10:02 pm Post subject: |
|
|
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. |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sat Sep 28, 2013 11:32 am Post subject: |
|
|
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é. |
|
Back to top |
|
|
|