25 réponses
Salut,
ping -c 1 -q 192.168.1.1 > /dev/null && echo "ca marche" || echo "ca marche pas"
Et tu peux mettre le tout dans une boucle.
a+
eric
ping -c 1 -q 192.168.1.1 > /dev/null && echo "ca marche" || echo "ca marche pas"
Et tu peux mettre le tout dans une boucle.
a+
eric
Merci Eric , j'aimerais egalement qu'il lance une application lorsque cela ne fonctionne pas .
Cordiallement.
GreG
Cordiallement.
GreG
Ok ,
Et comment faire lorsqsue l'application est demarrer pour quel
ce fasse qu'il lorsque l'ip est de nouveau UP ??
Encore merci de votre aide Eric.
Cordiallement.
GreG
Et comment faire lorsqsue l'application est demarrer pour quel
ce fasse qu'il lorsque l'ip est de nouveau UP ??
Encore merci de votre aide Eric.
Cordiallement.
GreG
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Heuuu. Peux-tu répéter la question?
Si je comprends bien, mais je dois avouer que c'est là mon problème, tu veux, lorque le ping se passe bien, faire tourner une application A et lorsque ca se passe mal, faire tourner une application B.
Dans ce cas ma réponse fait exactement ce que tu veux. Il suffit de mettre ma ligne de code dans la boucle de ton choix.
a+
eric
Si je comprends bien, mais je dois avouer que c'est là mon problème, tu veux, lorque le ping se passe bien, faire tourner une application A et lorsque ca se passe mal, faire tourner une application B.
Dans ce cas ma réponse fait exactement ce que tu veux. Il suffit de mettre ma ligne de code dans la boucle de ton choix.
a+
eric
Je vais essayer de m'expliker pour clairement.
Lorsque que l'ip Repond au ping alors rien ne ce passe.
Si l'Ip ne repond plus alors une application doit ce lancé.
Lorsque l'Ip repond de nouveau alors il faut que l'application lancé precedement soir killé et que plus aucune application ne soit lancé.
Cordiallement.
GreG
Lorsque que l'ip Repond au ping alors rien ne ce passe.
Si l'Ip ne repond plus alors une application doit ce lancé.
Lorsque l'Ip repond de nouveau alors il faut que l'application lancé precedement soir killé et que plus aucune application ne soit lancé.
Cordiallement.
GreG
Ah autre petit souci :
[root@mylinux root]# ./test
ça marche
[root@mylinux root]#
La Aucun probleme car la machine ping bien. Par contre lorsque la machine ne ping plus :
[root@mylinux root]# ./test
Cela me laisse un blanc et je suis obligé de faire Ctrl + C pour que l'application ce lance.
*******************************************************************************
** TRANScast Distributed Network Audio Content Provider
** Copyright (C) 2000 Nullsoft, Inc. All Rights Reserved.
.
Je suis vraiment désolé de vous embettez avec cela, ce script sert a une association.
Cordiallement.
GreG
[root@mylinux root]# ./test
ça marche
[root@mylinux root]#
La Aucun probleme car la machine ping bien. Par contre lorsque la machine ne ping plus :
[root@mylinux root]# ./test
Cela me laisse un blanc et je suis obligé de faire Ctrl + C pour que l'application ce lance.
*******************************************************************************
** TRANScast Distributed Network Audio Content Provider
** Copyright (C) 2000 Nullsoft, Inc. All Rights Reserved.
.
Je suis vraiment désolé de vous embettez avec cela, ce script sert a une association.
Cordiallement.
GreG
#!/bin/bash
ping -q -c 2 192.168.0.4 >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Aucun Probleme."
else
/home/GreG/sc_trans_040/sc_trans_linux /home/GreG/sc_trans_040/sc_trans.conf
fi
J'ai modifié le script mais j'ai toujours le probleme du Ctrl + C du msg au dessus et je n'arrive pas a trouver comme stoppé l'application lorsque l'ip est de retour.
Cordiallement.
GreG
ping -q -c 2 192.168.0.4 >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Aucun Probleme."
else
/home/GreG/sc_trans_040/sc_trans_linux /home/GreG/sc_trans_040/sc_trans.conf
fi
J'ai modifié le script mais j'ai toujours le probleme du Ctrl + C du msg au dessus et je n'arrive pas a trouver comme stoppé l'application lorsque l'ip est de retour.
Cordiallement.
GreG
Voilà chef. Il y a probablement plus court et plus joli, mais ca doit faire ce que tu demandes.
unset PID
while true
do
ping -c 1 -q 192.168.1.100 > /dev/null
if [[ $? = 0 ]]
then
if [[ ! -z $PID ]]
then
kill $PID
unset PID
fi
else
if [[ -z $PID ]]
then
echo "ceci est le programme"&
export PID=$!
fi
fi
sleep 3
done
a+
eric
unset PID
while true
do
ping -c 1 -q 192.168.1.100 > /dev/null
if [[ $? = 0 ]]
then
if [[ ! -z $PID ]]
then
kill $PID
unset PID
fi
else
if [[ -z $PID ]]
then
echo "ceci est le programme"&
export PID=$!
fi
fi
sleep 3
done
a+
eric
Je me tire les cheveux et je vais commencer à ennuyer mon monde, mais cela pose toujours le meme probleme, apres le lancement du script il le lance pas l'application si on ne fait pas "Ctrl + c" je pense que c parce que l'application lance une console que cela fais cela :( .
Je commence vraiment à desperer apres differente manipulation cela ne fonctionne toujours pas.
[root@mylinux root]# ./test3
*******************************************************************************
** TRANScast Distributed Network Audio Content Provider
** Copyright (C) 2000 Nullsoft, Inc. All Rights Reserved.
** Use "sc_trans filename.conf" to specify a config file.
*******************************************************************************
l'espace blanc represente la où je suis obligé de faire Ctrl + c .
Eric etes vous connectez sur irc ou msn , je pense que cela serai plus simple et rapide .
Cordiallement.
GreG
Je commence vraiment à desperer apres differente manipulation cela ne fonctionne toujours pas.
[root@mylinux root]# ./test3
*******************************************************************************
** TRANScast Distributed Network Audio Content Provider
** Copyright (C) 2000 Nullsoft, Inc. All Rights Reserved.
** Use "sc_trans filename.conf" to specify a config file.
*******************************************************************************
l'espace blanc represente la où je suis obligé de faire Ctrl + c .
Eric etes vous connectez sur irc ou msn , je pense que cela serai plus simple et rapide .
Cordiallement.
GreG
As-tu bien mis ton application en tache de fond? C'est le "&" de la ligne
echo "ceci est le programme"&
qui permet au script de continuer.
a+
eric
echo "ceci est le programme"&
qui permet au script de continuer.
a+
eric
#!/bin/bash
unset PID
while true
do
ping -c 1 -q 192.168.0.4 > /dev/null
if [[ $? = 0 ]]
then
if [[ ! -z $PID ]]
then
kill $PID
unset PID
fi
else
if [[ -z $PID ]]
then
/home/GreG/sc_trans_040/sc_trans_linux /home/GreG/sc_trans_040/sc_trans.conf&
export PID=$!
fi
fi
sleep 3
done
Voila ce que j'ai mi. Mais il ne se lance malheuresement toujours pas , je doit toujours faire le Ctrl + c.
Et lorsque l'ip est Up je suis aussi obligé de faire Ctrl + C pour arretter le script, lors du lancement voila ce qui reste lance :
root 5298 0.0 0.2 4140 1084 pts/2 S 21:33 0:00 /bin/bash ./test3
root 5308 0.0 0.1 3952 556 pts/2 S 21:33 0:00 sleep 3
Ce n'est pas tres pratique car je vais mettre le script en crontab toute les minutes et donc il va rester bloqué et me faire une liste de process immense :(
Cordiallement.
GreG
unset PID
while true
do
ping -c 1 -q 192.168.0.4 > /dev/null
if [[ $? = 0 ]]
then
if [[ ! -z $PID ]]
then
kill $PID
unset PID
fi
else
if [[ -z $PID ]]
then
/home/GreG/sc_trans_040/sc_trans_linux /home/GreG/sc_trans_040/sc_trans.conf&
export PID=$!
fi
fi
sleep 3
done
Voila ce que j'ai mi. Mais il ne se lance malheuresement toujours pas , je doit toujours faire le Ctrl + c.
Et lorsque l'ip est Up je suis aussi obligé de faire Ctrl + C pour arretter le script, lors du lancement voila ce qui reste lance :
root 5298 0.0 0.2 4140 1084 pts/2 S 21:33 0:00 /bin/bash ./test3
root 5308 0.0 0.1 3952 556 pts/2 S 21:33 0:00 sleep 3
Ce n'est pas tres pratique car je vais mettre le script en crontab toute les minutes et donc il va rester bloqué et me faire une liste de process immense :(
Cordiallement.
GreG
Tu ne peux pas le lancer comme un cron job. Ca ne marchera pas.
Qu'y a-t-il dans ton sc_trans_linux?
a+
eric
Qu'y a-t-il dans ton sc_trans_linux?
a+
eric
sc_trans_linux est un DSP qui permet d'emettre du son sur nos serveurs audios. Nous sommes une association. Et si la connection de notre studio principal plante c'est le blackout complet , je voudrais donc que sc_trans ce lance sur un de nos serveurs dédiés dans le but de reprendre le relais et empéché un blackout a l'antenne.
Donc comment faire pour qu'il ce lance lorsque le studio coupe pour que le sc_trans ce lance correctement ?
Cordiallement.
GreG
Donc comment faire pour qu'il ce lance lorsque le studio coupe pour que le sc_trans ce lance correctement ?
Cordiallement.
GreG
Si tu lances sc_trans_linux en tâches de fond à un pompt, normalement tu devrais récupérer la main tout de suite, avant la fin de l'exécution du programme. Est-ce le cas?
sc_trans_linux fontionne en tache de fond une foi lancé il est totalement autonome . une lancé je peut refermer ma console il continera à tourner .
Alors, il n'y a pas de raison que cela ne fonctionne pas. Je ne vois pas pourquoi tu dois taper ctrl+C pour sortir.
Est-ce que tu comprends bien ce que fait le script?
a+
eric
Est-ce que tu comprends bien ce que fait le script?
a+
eric
Si j'ai bien compris il regarde si l'ip ping , puis si elle ne ping pas il lance sc_tranc_linux (mais c la qu'il s'arrette et ou je dois faire un ctrl + c) et si l'ip ping il ne lance pas l'application .
GreG
GreG
Ajoute
set -x
en début de script, lance-le, laisse-le tourner au moins une minute sans y toucher et envoie-moi la sortie.
a+
eric
set -x
en début de script, lance-le, laisse-le tourner au moins une minute sans y toucher et envoie-moi la sortie.
a+
eric
Lorsque l'ip repond :
[root@mylinux root]# ./test3
+ unset PID
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
Lorsque l'ip ne repond pas :
[root@mylinux root]# ./test3
+ unset PID
+ true
+ ping -c 1 -q 192.168.0.4
et rien de plus que c'est 3 lignes pour l'ip qui ne repond pas .
GreG
[root@mylinux root]# ./test3
+ unset PID
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
+ true
+ ping -c 1 -q 192.168.0.4
+ [[ 0 = 0 ]]
+ [[ ! -z '' ]]
+ sleep 3
Lorsque l'ip ne repond pas :
[root@mylinux root]# ./test3
+ unset PID
+ true
+ ping -c 1 -q 192.168.0.4
et rien de plus que c'est 3 lignes pour l'ip qui ne repond pas .
GreG