74 lines
2.1 KiB
Bash
Executable file
74 lines
2.1 KiB
Bash
Executable file
#! /bin/sh
|
|
|
|
## Fred 07 avril 2004
|
|
|
|
# Teste l'état des serveurs distants grâce à autostatus (appellé sans arguments)
|
|
# Permet de passer en connexion par ADSL ou ENS suivant les options fournies
|
|
|
|
STATUS='/var/www/cransonly/autostatus/local.html' # Page web de autostatus
|
|
ETAT='/CRANS/code/etat.py' # Stoquage de l'état de la connexion
|
|
|
|
ssh () {
|
|
# Connexion ssh
|
|
# Utilise la clef $1 pour se connecter à $2
|
|
/usr/bin/ssh -o StrictHostKeyChecking=no -i /CRANS/keys/$1 zamok@$2 $1
|
|
}
|
|
|
|
source $ETAT
|
|
|
|
if [ $1 ] && ([ $1 -ge -1 ] && [ $1 -le 2 ]) ; then
|
|
# Attribution du futur état
|
|
echo "secours=$1" > $ETAT
|
|
[ $1 -le 0 ] && force=-1
|
|
[ $1 -ge 1 ] && force=1
|
|
( [ $1 -lt 0 ] || [ $1 -gt 1 ] ) && echo "Mode forcé"
|
|
elif [ $1 ] ; then
|
|
echo "Argument incorrect"
|
|
echo "-1 = force la connexion en mode normal"
|
|
echo " 0 = mode automaqtique, connexion normale"
|
|
echo " 1 = mode automaqtique, connexion secrours"
|
|
echo " 2 = force la connexion en mode secours"
|
|
else :
|
|
force=0
|
|
if [ $secours -eq -1 ] ; then
|
|
echo "Etat forcé en normal" 2>&1
|
|
exit 0
|
|
elif [ $secours -eq 2 ] ; then
|
|
echo "Etat forcé en secours" 2>&1
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
# source /root/snmp-community-names
|
|
|
|
if [ $force -ne -1 ] && ( [ $force -eq 1 ] || (\
|
|
grep -q 'Free.*dep.png' $STATUS && \
|
|
grep -q 'Google.*dep.png' $STATUS && \
|
|
grep -q 'Yahoo.*dep.png' $STATUS && \
|
|
grep -q 'Voila.*dep.png' $STATUS ) ) ; then
|
|
if [ $secours -ge 1 ] ; then
|
|
echo "Reste en mode secours"
|
|
exit 0
|
|
else :
|
|
echo "Passage en secours" 1>&2
|
|
[ $force -eq 1 ] || echo "secours=1" > $ETAT
|
|
ssh sila-mode-secours sila
|
|
python /usr/scripts/gestion/secours.py 1
|
|
fi
|
|
|
|
else
|
|
if [ $secours -le 0 ] ; then
|
|
echo "Reste en mode normal"
|
|
exit 0
|
|
else :
|
|
echo "Passage en mode normal" 1>&2
|
|
[ $force -eq -1 ] || echo "secours=0" > $ETAT
|
|
ssh sila-mode-normal sila
|
|
python /usr/scripts/gestion/secours.py 0
|
|
fi
|
|
fi
|
|
|
|
# Génération des fichiers et reload localement
|
|
#/CRANS/code/mkGenated.py
|
|
/etc/init.d/postfix reload
|
|
/etc/init.d/bind9 reload
|