scripts/secours.sh
pauget 15940a3b36 On n'utilise plus l'autosatus pour dterminer si on doit passer en secours
ou non.

darcs-hash:20041021165846-41617-db25e1230d0495ab89a2cfbf0d2ff00a20666310.gz
2004-10-21 18:58:46 +02:00

73 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
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 ]] || (\
! /usr/sbin/fping -q 216.239.39.104 2>/dev/null && \
! /usr/sbin/fping -q 213.228.0.42 2>/dev/null && \
! /usr/sbin/fping -q 217.12.3.11 2>/dev/null && \
! /usr/sbin/fping -q 195.101.94.80 2>/dev/null ) ) ; 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