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"
|
|
ti_remote echo " 0 = mode automatique, connexion normale"
|
|
echo " 1 = mode automatique, connexion secours"
|
|
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
|