Sync Loadbalanced webservers

From Hobbynet Admin Wiki
Jump to navigation Jump to search

doel

Dit script zorgt er voor dat de configuraties van webservers gelijk worden getroken

config files

De config files staan in de volgende dir /usr/local/hobbynet/apache2conf/html
vervang html door naam van cluster bv php-joomla dus zonder -lbx

config files syncroniseren

om de config files te syncroniseren draai op scripting het script /usr/local/hobbynet/bin/sync_html
vervang html door naam van cluster bv 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 de servers in het cluster het script /usr/local/hobbynet/local/getapacheconf

#!/bin/bash
echo synching 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 er voor dat lb* in de config file wordt vervangen door lb1 of lb2 dat hangt af van de waarde in script.
omdat dit script server speciefiek staat deze in /usr/local/hobbynet/local/getapacheconf
Na dat alle sites zijn uitgeschakeld worden de huidige website files weg gebackup naar /usr/local/hobbynet/local/backup
hier na worden alle files (website die in de configdir staan geactiveerd
Wil je een site uitschakelen verplaats je de website configfile naar 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