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