[Crontab] Executer plusieurs scripts

Executer plusieurs scripts [Crontab] - Logiciels - Linux et OS Alternatifs

Marsh Posté le 09-06-2005 à 14:58:31    

Bonjour, j'aimerais faire tourner en même temps plusieurs scripts sous crontab
 
J'ai testé comme cela

Code :
  1. * * * * * /path de mon script/nomdemonscript.sh /dev/null 2>&1
  2. * * * * * /path de mon script2/nomdemonscript2.sh /dev/null 2>&2


 
Ca ne fonctionne pas en fait, il n'y a que le premier script qui tourne, pas le deuxième.
J'ai besoin d'un peu d'aide, merci
 
Les deux scripts fonctionnent manuellements

Reply

Marsh Posté le 09-06-2005 à 14:58:31   

Reply

Marsh Posté le 09-06-2005 à 15:02:01    

tu es bien passé à la ligne au bout de la 2ème ligne ?

Reply

Marsh Posté le 09-06-2005 à 15:05:38    

jotenakis a écrit :

tu es bien passé à la ligne au bout de la 2ème ligne ?


C'est a dire ?
Mon cron est exactement comme ci dessus ? Deux lignes différentes
Je viens de laisser une ligne vide juste pares la deuxième, comme ceci
 

Code :
  1. * * * * * /path de mon script/nomdemonscript.sh /dev/null 2>&1
  2. * * * * * /path de mon script2/nomdemonscript2.sh /dev/null 2>&2
  3. #ligne vide : ici en commentaire car sinon on voit pas qu'il y a une ligne


Message édité par calimero_06 le 09-06-2005 à 15:06:15
Reply

Marsh Posté le 09-06-2005 à 15:32:12    

Bon, plus personne pour m'aider ?  :sweat:

Reply

Marsh Posté le 09-06-2005 à 15:33:15    

Dans la deuxième ligne remplace " 2>&2" par " 2>&1"  

Reply

Marsh Posté le 09-06-2005 à 15:46:17    

jlighty a écrit :

Dans la deuxième ligne remplace " 2>&2" par " 2>&1"


Je l'avais deja fais, ca ne fonctionne pas, c'est pour ca que je m'étais put etre dis que la ligne 1 c'était 2>&1, ligne 2 2>&2, etc.. mais la ca ne fonctionne pas de toute façon  :sweat:  
De l'aide svp

Reply

Marsh Posté le 09-06-2005 à 16:16:10    

en faisant

Code :
  1. script2/nomdemonscript2.sh /dev/null 2>&1 >/var/log/mon_script

 
que contient /var/log/mon_script ?

Reply

Marsh Posté le 09-06-2005 à 16:28:15    

Pourquoi tu as un /dev/null en paramètre de tes scripts ?
mets plutot
 

Code :
  1. cript2/nomdemonscript2.sh > /dev/null 2>&1


 
Tu as oublié un > entre ton script et /dev/null


---------------
BiBi Max
Reply

Marsh Posté le 09-06-2005 à 16:30:34    

en effet je pensais que /dev/null était un fichier passé en paramètre à nomdemonscript2.sh

Reply

Marsh Posté le 13-06-2005 à 08:02:09    

BiBi Max a écrit :

Pourquoi tu as un /dev/null en paramètre de tes scripts ?
mets plutot
 

Code :
  1. cript2/nomdemonscript2.sh > /dev/null 2>&1


 
Tu ass oublié un > entre ton script et /dev/null


 
J'ai bien fais ca, mais ca ne fonctionne pas. Le premier script cesse de fonctionner lorsque je rajoute la ligne pour le deuxième script.
 
Que faire ?  :??:  

Reply

Marsh Posté le 13-06-2005 à 08:02:09   

Reply

Marsh Posté le 13-06-2005 à 08:13:44    

Plusieurs questions:
 - hors de cron est ce que  tes scripts fonctionnent bien ?
 - dans cron, sans les redirections est ce que ca fonctionne ?
 - Avec quoi as tu édité ton crontab ?


Message édité par l0ky le 13-06-2005 à 08:13:56
Reply

Marsh Posté le 13-06-2005 à 08:46:32    

l0ky a écrit :

Plusieurs questions:
 - hors de cron est ce que  tes scripts fonctionnent bien ?
 - dans cron, sans les redirections est ce que ca fonctionne ?
 - Avec quoi as tu édité ton crontab ?


- oui les scripts fonctionnent correctements
- je débute sous linux, doncje vois pas a quoi servent ces redirections :whistle:  J'ai suivi l'installation de mon logiciel qui me dit de faire mon cron comme cela. Mais a la base il n'y a qu'un seul cron.
- je l'ai edité avec crontab -e

Reply

Marsh Posté le 13-06-2005 à 09:14:16    

si tes scripts son utilisateur simple, met >> au lieu >
 
Quel est ce logiciel, comment l'as tu installer, quelle distrib as tu ?

Reply

Marsh Posté le 13-06-2005 à 09:20:59    

l'explication des redirections :
http://www.funix.org/fr/unix/commandes.htm
 
si le 2 ème script n'est pas trop long, tu pourrais le poster ici ou le mettre en ligne afin que on l'examine

Reply

Marsh Posté le 13-06-2005 à 09:46:54    

jlighty a écrit :

l'explication des redirections :
http://www.funix.org/fr/unix/commandes.htm
 
si le 2 ème script n'est pas trop long, tu pourrais le poster ici ou le mettre en ligne afin que on l'examine


Merci pour ce lien. Concernant les scripts, petite explication Ce sont des scripts permettant de relever la température (script1) et l'humidité (script2).  
 
Le script 1 fonctionne parfaitement (relevé de température + graphique). Le script 2 releve bien température + humidité mais ne m'affiche pas le graphique (lorsque les 2 scripts sont dans le cron).
 
Par contre, si je met uniqument le script2 dans le cron, il fonctionne, alors qu'avec le script1, il ne fonctionne plus.  :sweat:

Reply

Marsh Posté le 13-06-2005 à 09:50:40    

il n'y aurait pas un accès concurrentiel à une même ressource (une sonde, un fichier ?)
tu pourras donner le déroulement des scripts
ex: saisie des t° -> ecrit dans le fichier <mon fichier> ...


Message édité par jlighty le 13-06-2005 à 09:51:07
Reply

Marsh Posté le 13-06-2005 à 10:00:35    

jlighty a écrit :

il n'y aurait pas un accès concurrentiel à une même ressource (une sonde, un fichier ?)
tu pourras donner le déroulement des scripts
ex: saisie des t° -> ecrit dans le fichier <mon fichier> ...


En fait, au lieu d'une longue explication, je donne le liens de l'installation que j'ai suivis pour avoir la température http://z-graphix.com/linux/temperature/howto3.html
Et pour avoir l'hulidité c'est http://z-graphix.com/linux/humidity/howto3.html
 
J'ai deux capteur, un qui mesure uniquement la température (script1), et l'autre l'humidité (script2) mais aussi la température.
 
Bref, j'ai fais les deux installations, pour la température j'ai le script checkTemp.sh et pour l'humidité checkHumi.sh
 
J'aimerais faire tourner les 2 en mêmes temps pour avoir sur ma page shtml les graphiques pour la températures et pour l'humidité.

Reply

Marsh Posté le 13-06-2005 à 11:01:19    

Alors plus personne ? :??:

Reply

Marsh Posté le 13-06-2005 à 11:16:35    

si si :D mais j'ai un rendez-vous  
j'ai regardé rapidement les scripts, les fichiers utilisés sont différents -> pas de problème d'accès concurrentiel  
cependant il faudrait savoir comment digitemp est executé (retour d'erreur...)


Message édité par jlighty le 13-06-2005 à 12:16:21
Reply

Marsh Posté le 13-06-2005 à 11:35:38    

jlighty a écrit :

cepedant il faudrait savoir comment digitemp est executé (retour d'erreur...)


Je ne comprend pas beaucoup de chose sous Linux moi...  :sweat:  

Reply

Marsh Posté le 13-06-2005 à 12:22:47    

en gros dans le script checkHumi.sh à la ligne
/path2digitemp/digitemp -a  -H"%h" | tail -n1 > $logfileHumi
 
digitemp enregistre la valeur hygrométrique dans /usr/local/rrdtool/datas/humiLast
que contient ce fichier dans le cas où les 2 scripts sont lancés par cron ?

Reply

Marsh Posté le 13-06-2005 à 12:34:16    

jlighty a écrit :

en gros dans le script checkHumi.sh à la ligne
/path2digitemp/digitemp -a  -H"%h" | tail -n1 > $logfileHumi
 
digitemp enregistre la valeur hygrométrique dans /usr/local/rrdtool/datas/humiLast
que contient ce fichier dans le cas où les 2 scripts sont lancés par cron ?


Il contient le dernier relevé de l'humidité (par exemple : 43 )
 
EDIT : étant donné que le script est lancé toutes les minutes, il vient de changer, j'ai ca :
 
GNU Public License V2.0 - http://www.brianlane.com
 
EDIT 2 : alors un coup il me met le taux d'humidité, un coup le commentaire !  :sweat:


Message édité par calimero_06 le 13-06-2005 à 12:39:41
Reply

Marsh Posté le 13-06-2005 à 12:40:35    

donc il ne te retourne pas le niveau d'humidité.
Tu peux essayer de remplacer  "/path2digitemp/digitemp -a  -H"%h" | tail -n1 > $logfileHumi " par  
"/path2digitemp/digitemp -a  -H"%h"  > $logfileHumi "
 
et regarder ce qui se passe dans le fichier  
/usr/local/rrdtool/datas/humiLast

Reply

Marsh Posté le 13-06-2005 à 12:46:24    

une petite question, les sondes sont branchées sur le même port série ou non ?

Reply

Marsh Posté le 13-06-2005 à 12:58:56    

jlighty a écrit :

une petite question, les sondes sont branchées sur le même port série ou non ?


J'ai deux sondes : une qui ne peut mesurer que la température, une autre qui fait à la fois température + humidité. Bien sur, quand je met les 2 scripts dans le cron, je branche celle qui mesure les deux à la place de l'autre. En fait, le problème, pour dire à Digitemp que j'ai changé de sonde, il faut retaper la commande  

Code :
  1. ./digitemp -s/dev/ssyS0 -i


Le but, c'est qu'avec cette sonde je puisse récupere la température et l'humidité (ca c'est sa fonction principale)


Message édité par calimero_06 le 13-06-2005 à 13:01:00
Reply

Marsh Posté le 13-06-2005 à 13:04:58    

d'accord donc les 2 appels à digitemp (pour la t° et l'humidité) se font sur le même port série.
Peut être qu'il y a un conflit lorsque les 2 digitemps accèdent en même temps au port série.
Après avoir fait les modifications précedemment que contient  
/usr/local/rrdtool/datas/humiLast
 
PS : un test à effectuer :
à la place de :

Code :
  1. * * * * * /path de mon script2/nomdemonscript2.sh /dev/null 2>&2


 

Code :
  1. * * * * * /bin/sleep 5; /path de mon script2/nomdemonscript2.sh /dev/null 2>&2


Message édité par jlighty le 13-06-2005 à 13:05:36
Reply

Marsh Posté le 13-06-2005 à 13:10:33    

jlighty a écrit :


Code :
  1. * * * * * /bin/sleep 5; /path de mon script2/nomdemonscript2.sh /dev/null 2>&2



 
Et apres avoir modifié ?
 
Mon cron est comme ca :
 

Code :
  1. * * * * * /usr/local/bin/checkTemp.sh > /dev/null 2>&1
  2. * * * * * /bin/sleep 5; /usr/local/bin/checkHumi.sh /dev/null 2>&2

Reply

Marsh Posté le 13-06-2005 à 13:11:49    

ces modifications là :

Citation :

Tu peux essayer de remplacer  "/path2digitemp/digitemp -a  -H"%h" | tail -n1 > $logfileHumi " par  
"/path2digitemp/digitemp -a  -H"%h"  > $logfileHumi "
 
et regarder ce qui se passe dans le fichier  
/usr/local/rrdtool/datas/humiLast


sinon l'ajout de "sleep 5" dans la crontab résoud t-il le problème ?


Message édité par jlighty le 13-06-2005 à 13:12:41
Reply

Marsh Posté le 13-06-2005 à 13:24:57    

Après avoir modifier checkhumi.sh, j'avais une erreur comme quoi il manquait le "tail", je l'ais donc remis comme avant. Avec le "sleep 5", le script pour l'humidité fonctionne. Par contre, a la fin, j'ai du mettre /dev/null 2>&1 et non pas 2>2&2


Message édité par calimero_06 le 13-06-2005 à 13:25:24
Reply

Marsh Posté le 13-06-2005 à 13:30:51    

Citation :

j'ai du mettre /dev/null 2>&1 et non pas 2>2&2


oui j'ai recopié sans rectifier l'erreur :D.
Verifie quand même que le fichier contenant les t° est correct.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed