scripts/secours.sh
bernat 77b4bb2a02 Evite les erreurs lors de l'absence d'arguments
darcs-hash:20041009085759-d1718-905d011ad1ad8840eefa99cbfa4e4e32e4b046ba.gz
2004-10-09 10:57:59 +02:00

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