Executer plusieurs scripts [Crontab] - Logiciels - Linux et OS Alternatifs
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 :
|
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
De l'aide svp
Marsh Posté le 09-06-2005 à 16:16:10
en faisant
Code :
|
que contient /var/log/mon_script ?
Marsh Posté le 09-06-2005 à 16:28:15
Pourquoi tu as un /dev/null en paramètre de tes scripts ?
mets plutot
Code :
|
Tu as oublié un > entre ton script et /dev/null
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
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 ?
|
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 ?
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 ?
Marsh Posté le 13-06-2005 à 08:46:32
l0ky a écrit : Plusieurs questions: |
- oui les scripts fonctionnent correctements
- je débute sous linux, doncje vois pas a quoi servent ces redirections 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
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 ?
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
Marsh Posté le 13-06-2005 à 09:46:54
jlighty a écrit : l'explication des redirections : |
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.
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> ...
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 ?) |
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é.
Marsh Posté le 13-06-2005 à 11:16:35
si si 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...)
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...
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 ?
Marsh Posté le 13-06-2005 à 12:34:16
jlighty a écrit : en gros dans le script checkHumi.sh à la ligne |
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 !
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
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 ?
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 :
|
Le but, c'est qu'avec cette sonde je puisse récupere la température et l'humidité (ca c'est sa fonction principale)
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 :
|
Code :
|
Marsh Posté le 13-06-2005 à 13:10:33
jlighty a écrit :
|
Et apres avoir modifié ?
Mon cron est comme ca :
Code :
|
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 |
sinon l'ajout de "sleep 5" dans la crontab résoud t-il le problème ?
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
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 .
Verifie quand même que le fichier contenant les t° est correct.
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
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