swatch'ın start, restart, stop edilebilmesi için bir script yazmak gerekiyordu. Kolları sıvayıp önce şöyle bir script yazdım (/etc/init.d/swatchd dosyasına) :
#!/bin/sh # Debian Gnu/Linux Shell Script # # swatchd : swatch'in baslatilmasi, durdurulmasi veya tekrar baslatilmasi # icin script. # # Aciklama: logrotate'den sonra swatch log dosyalarini dinlemediginden, # logrotate'den sonra swatch'in restart edilmesi gerekiyor. # /etc/cron.daily/sysklogd, /etc/cron.weekly/sysklogd dosyalarinin sonuna # /etc/init.d/swatch restart > /dev/null satiri eklenirse, sysklogd restart olduktan hemen sonra # swatch da restart olacaktir. # # Version: 1.0 03-12-2007 aytekinaygun@gmail.com ps ax | grep swatch > /tmp/swatch.pid PID=`cat /tmp/swatch.pid | grep swatchrc | awk '{print $1;}'` case "$1" in start|"") if [ "$PID" = "" ]; then swatch --daemon -c /etc/swatchrc --tail-file="/var/log/syslog /var/log/auth.log" echo "swatch baslatildi..." else echo "swatch zaten calisiyor..." fi ;; stop) if [ "$PID" = "" ]; then echo "swatch zaten calismiyor..." else kill -9 $PID echo "swatch durduruldu..." fi ;; restart) if [ "$PID" = "" ]; then swatch --daemon -c /etc/swatchrc --tail-file="/var/log/syslog /var/log/auth.log" echo "swatch calismiyordu ve baslatildi..." else kill -9 $PID swatch --daemon -c /etc/swatchrc --tail-file="/var/log/syslog /var/log/auth.log" echo "swatch tekrar baslatildi..." fi ;; *) echo "Kullanim parametreleri : /etc/init.d/swatchd {start|stop|restart}" ;; esac exit 0 |
Sonra da /etc/cron.daily/sysklogd, /etc/cron.weekly/sysklogd dosyalarinin sonuna;
/etc/init.d/swatch restart > /dev/null |
satırını ekledim. Böylece gece sysklogd restart olduktan hemen sonra swatch'da restart oluyor ve istediğim log dosyalarının izlenmesine devam ediliyor.
Hiç yorum yok:
Yorum Gönder