Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1598 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  [Crontab] Executer plusieurs scripts

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Crontab] Executer plusieurs scripts

n°690839
calimero_0​6
M'en Bati Sieù Nissart
Posté le 09-06-2005 à 14:58:31  profilanswer
 

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

mood
Publicité
Posté le 09-06-2005 à 14:58:31  profilanswer
 

n°690842
jotenakis
Posté le 09-06-2005 à 15:02:01  profilanswer
 

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

n°690845
calimero_0​6
M'en Bati Sieù Nissart
Posté le 09-06-2005 à 15:05:38  profilanswer
 

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
n°690877
calimero_0​6
M'en Bati Sieù Nissart
Posté le 09-06-2005 à 15:32:12  profilanswer
 

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

n°690879
jlighty
Posté le 09-06-2005 à 15:33:15  profilanswer
 

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

n°690902
calimero_0​6
M'en Bati Sieù Nissart
Posté le 09-06-2005 à 15:46:17  profilanswer
 

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

n°690945
jlighty
Posté le 09-06-2005 à 16:16:10  profilanswer
 

en faisant

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

 
que contient /var/log/mon_script ?

n°690964
BiBi Max
Posté le 09-06-2005 à 16:28:15  profilanswer
 

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
n°690974
jlighty
Posté le 09-06-2005 à 16:30:34  profilanswer
 

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

n°692509
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 08:02:09  profilanswer
 

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 ?  :??:  

mood
Publicité
Posté le 13-06-2005 à 08:02:09  profilanswer
 

n°692510
l0ky
Posté le 13-06-2005 à 08:13:44  profilanswer
 

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
n°692513
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 08:46:32  profilanswer
 

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

n°692518
l0ky
Posté le 13-06-2005 à 09:14:16  profilanswer
 

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

n°692520
jlighty
Posté le 13-06-2005 à 09:20:59  profilanswer
 

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

n°692536
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 09:46:54  profilanswer
 

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:

n°692537
jlighty
Posté le 13-06-2005 à 09:50:40  profilanswer
 

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
n°692543
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 10:00:35  profilanswer
 

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é.

n°692560
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 11:01:19  profilanswer
 

Alors plus personne ? :??:

n°692564
jlighty
Posté le 13-06-2005 à 11:16:35  profilanswer
 

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
n°692591
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 11:35:38  profilanswer
 

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:  

n°692618
jlighty
Posté le 13-06-2005 à 12:22:47  profilanswer
 

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 ?

n°692625
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 12:34:16  profilanswer
 

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
n°692628
jlighty
Posté le 13-06-2005 à 12:40:35  profilanswer
 

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

n°692630
jlighty
Posté le 13-06-2005 à 12:46:24  profilanswer
 

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

n°692633
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 12:58:56  profilanswer
 

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
n°692640
jlighty
Posté le 13-06-2005 à 13:04:58  profilanswer
 

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
n°692646
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 13:10:33  profilanswer
 

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

n°692649
jlighty
Posté le 13-06-2005 à 13:11:49  profilanswer
 

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
n°692659
calimero_0​6
M'en Bati Sieù Nissart
Posté le 13-06-2005 à 13:24:57  profilanswer
 

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
n°692661
jlighty
Posté le 13-06-2005 à 13:30:51  profilanswer
 

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.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  [Crontab] Executer plusieurs scripts

 

Sujets relatifs
CRON / CRONTAB[SSH] Comment exécuter un script ?
Comment modifier les tags mp3 de plusieurs fichiers d'un coup?crontab
comment éditer les scripts de connexion et stratégie de sécurité[RESOLU][crontab] apt-get upgrade
Exécuter un éxecutable MSDOS sous Linux ?Plusieurs applications qui utilisent du son en même temps
Executer des cmde admin en user ?Help Crontab
Plus de sujets relatifs à : [Crontab] Executer plusieurs scripts


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR