Bonjour à vous tous,
Tout d’abord, je suis loin d’etre d’un expert …
Mon script doit exécuter un script qui est sur une machine distante
Script local
#!/bin/bash
script_path="/opt/"
script_name="check_zfs"
script_zp="data-zp"
script_verb="3"
ssh IP_DU_SERVEUR_DISTANT \
$script_path$script_name $script_zp $script_verb
Script distant (enfin un extrait)
$msg = sprintf "ZPOOL %s : %s {Size:%s Used:%s Avail:%s Cap:%s} %s\n", $pool, $health, $size, $used, $avail, $cap, $dmge;
print $state, " ", $msg;
exit ($ERRORS{$state});
Dans ce script distant je souhaiterais récupérer la valeur que retourne $state.
$state peux renvoyer plusieurs valeur :
DEPENDENT’=>4,
‘UNKNOWN’=>3,
‘OK’=>0,
‘WARNING’=>1,
‘CRITICAL’=>2
Comment faire ?
Merci de votre aide.
KP2
Août 19, 2008, 11:56
2
Featoff:
Bonjour à vous tous,
Tout d’abord, je suis loin d’etre d’un expert …
Mon script doit exécuter un script qui est sur une machine distante
Script local
#!/bin/bash
script_path="/opt/"
script_name="check_zfs"
script_zp="data-zp"
script_verb="3"
ssh IP_DU_SERVEUR_DISTANT \
$script_path$script_name $script_zp $script_verb
Script distant (enfin un extrait)
$msg = sprintf "ZPOOL %s : %s {Size:%s Used:%s Avail:%s Cap:%s} %s\n", $pool, $health, $size, $used, $avail, $cap, $dmge;
print $state, " ", $msg;
exit ($ERRORS{$state});
Dans ce script distant je souhaiterais récupérer la valeur que retourne $state.
$state peux renvoyer plusieurs valeur :
DEPENDENT’=>4,
‘UNKNOWN’=>3,
‘OK’=>0,
‘WARNING’=>1,
‘CRITICAL’=>2
Comment faire ?
Merci de votre aide.
avec "return " ca pourrait le faire non ?
DAns ton script “distant”, tu checkes le contenu de la variable que tu veux et suivant le contenu, tu renvoies un code specifique.
Et dans ton script local (celui qui lance la commande distant), tu recuperes la valeur de retour et tu fais tes traitements en fonction
Ok merci de ta réponse, mais je ne vois pas trés bien ce que tu veux dire … Désolé
Peux tu me l’illustrer ?
Merci encore de ton aide!
Bonjour,
Tu peux diriger la sortie d’une commande vers une varialble en utilisant la syntaxe
variable=$(commande)
#!/bin/bash
script_path="/opt/"
script_name="check_zfs"
script_zp="data-zp"
script_verb="3"
valeur_retour=$(ssh IP_DU_SERVEUR_DISTANT \
$script_path$script_name $script_zp $script_verb)