Sync Loadbalanced webservers
doel
Dit script zorgt ervoor dat de configuraties van webservers gelijk worden getrokken
config files
De config files staan in de volgende dir /usr/local/hobbynet/apache2conf/html
Vervang 'html' door de naam van het cluster, bijvoorbeeld 'php-joomla' dus zonder -lbx
config files synchroniseren
Om de config files te synchroniseren draai je op scripting het script /usr/local/hobbynet/bin/sync_html
Vervang 'html' door de naam van het cluster, bijvoorbeeld 'php-joomla' dus zonder -lbx
scripting
op server scripting
Op de server scripting wordt het script /usr/local/hobbynet/bin/sync_* aangeroepen.
Deze start op beide servers in het cluster het script /usr/local/hobbynet/local/getapacheconf
#!/bin/bash echo syncing html-lb1 ssh html-lb1-int /usr/local/hobbynet/local/getapacheconf echo synching html-lb2 ssh html-lb2-int /usr/local/hobbynet/local/getapacheconf
locale scripting op webserver
Dit script zorgt ervoor dat lb* in de config file wordt vervangen door lb1 of lb2, afhankelijk van de waarde in het script.
Omdat dit script server specifiek is staat deze lokaal op de server, in de map /usr/local/hobbynet/local/getapacheconf.
Nadat alle sites zijn uitgeschakeld worden de huidige website files weg gebackup naar /usr/local/hobbynet/local/backup.
Hierna worden alle files (website) die in de configdir staan geactiveerd.
Wil je een site uitschakelen dan verplaats je de website configfile naar de map 'uitgeschakeld'.
#!/bin/bash
BASISCONFIG=/usr/local/hobbynet/apache2conf/html
APACHE2CONFIGDIR=/etc/apache2/sites-available
BACKUPDIR=/usr/local/hobbynet/local/backup/
LB=1
cd $BASISCONFIG/lb$LB
rm $BASISCONFIG/lb$LB/*
cp $BASISCONFIG/* $BASISCONFIG/lb$LB/ >/dev/null
for fl in *; do
mv $fl $fl.old
sed 's/lb\*/lb'$LB/g $fl.old > $fl
rm -f $fl.old
done
cd $APACHE2CONFIGDIR
service apache2 stop
a2dissite *
mv * $BACKUPDIR
cp $BASISCONFIG/lb$LB/* .
a2ensite *
service apache2 start