Aşağıdaki script ile dosyada değişiklik varsa diğer üç servera bu dosyaları basıyorum. Ondan önce ssh ayarlamalarını yaptım serverlar arasında. Direkt shelle düşüyorlar. Sonrası zaten kolay. Server ayaktaysa bu dosyaları kopyalıyor. Bİr de networkte duplicate paket durumunda da çalışması için ekleme yaptım.
***************************
# record the memory usage of the system every monday
# at 3:30AM in the file /tmp/meminfo
*/10 * * * * /var/www/dansguardian/sc.sh >> /tmp/sc.log
*****************************
Yukarıdaki satirlarida crontab -e ile crontab dosyasına koyduktan sonra bir server ile üç serverın kontrolünü saglıyoruz. Bu sayede her 10 dakikada bir belirttiğim dosyalara bakıyor ve bunları karşılaştırıyor herhangi birisinde bir degişiklik varsa diğer sunucularada aynısı basıyor.
#!/bin/bash
diff /usr/local/etc/dansguardian/lists/filtergroupslist /var/www/dansguardian/yenifiltergroup>delidolu.log
diff /usr/local/etc/dansguardian/lists/ayar/bakanlik_yasaklilar /var/www/dansguardian/yenibakanlik>>delidolu.log
diff /usr/local/etc/dansguardian/lists/exceptionsitelist /var/www/dansguardian/yeniexceptionsite>>delidolu.log
dosyaad=$(date +%T.%N.log)
degis=delidolu.log
if test -s $degis
then
for (( i = 10 ; i <= 14; i=i+2 ))
do
server="10.200.246.$i"
erisim=$(ping $server -w 3| awk {'print$6'} |cut -d% -f1,3|tail -2|head -1)
echo $erisim
#erisim=$(ping $server -w 3| grep error)
echo $deneme
if [[ "$erisim" = 0 || $erisim = '+1' ]]
then
cat /usr/local/etc/dansguardian/lists/filtergroupslist > /var/log/dans/filter$dosyaad.
cat /usr/local/etc/dansguardian/lists/ayar/bakanlik_yasaklilar >/var/log/dans/bakanlik$dosyaad
cat /usr/local/etc/dansguardian/lists/exceptionsitelist >/var/log/dans/exceptionsite$dosyaad
cp /var/www/dansguardian/yenifiltergroup /usr/local/etc/dansguardian/lists/filtergroupslist
cp /var/www/dansguardian/yenibakanlik /usr/local/etc/dansguardian/lists/ayar/bakanlik_yasaklilar
cp /var/www/dansguardian/yeniexceptionsite /usr/local/etc/dansguardian/lists/exceptionsitelist
echo $server
scp /usr/local/etc/dansguardian/lists/filtergroupslist root@$server:/usr/local/etc/dansguardian/lists/filtergroupslist
scp /usr/local/etc/dansguardian/lists/ayar/bakanlik_yasaklilar root@$server:/usr/local/etc/dansguardian/lists/ayar/bakanlik_yasaklilar
scp /usr/local/etc/dansguardian/lists/exceptionsitelist root@$server:/usr/local/etc/dansguardian/lists/exceptionsitelist
ssh -T root@$server <
then
echo "Dansguardian calisiyordu durdurulacak ve tekrardan baslatilacak"
/etc/init.d/dansguardian restart
fi
End-Of-Session
else
echo "servera ulasilamiyor"
exit
fi
done
/etc/init.d/dansguardian restart
0>delidolu.log
else
echo "dosyada degisiklik yok"
fi
Monday, October 02, 2006
Subscribe to:
Post Comments (Atom)
2 comments:
php logger nasıl yapabilirim bir sitem var ama kimlerin girdigi felan nasıl kaydedebilirm
Eğer ip adreslerini o logtan çekip bir dosyaya kaydetmek istiyorsan scriptle bu işi halledebilirsin ama stat gibi bir şey istiyorsan sql kullanabilirsin. O logu nasıl bir formata cevirmek istiyorsan onu açıklarsan daha kolay olur.
Post a Comment