Forum

service stop olduğu...
 
Bildirimler
Hepsini Temizle

service stop olduğunda start yapan script!!!

8 Yazılar
4 Üyeler
0 Likes
1,494 Görüntüleme
(@mustafagokhankurt)
Gönderiler: 294
Reputable Member
Konu başlatıcı
 

Arkadaşlar, bir service stop olduğunda bunu kontrol edip start yapan script'e ihtiyacım var. Böyle bir script kullanan ya da böyle bir tool varsa bilgisi olan varmı?  Bunu nagios ve ntop için kullanmayı planlıyorum.

 
Gönderildi : 13/09/2011 23:20

(@erdemcilingiroglu)
Gönderiler: 2205
Noble Member
 

Merhabalar,


Bunları manuel olarak yapan scriptler çokca mevcut. Fakat otomatik yapana şuana kadar rastlamadım. Güzel bir istek. Umarım bilen birisi çıkacaktır.

 
Gönderildi : 14/09/2011 12:22

(@MusabYardim)
Gönderiler: 67
Trusted Member
 

Selamlar,

Manuel olarak yapan scripti  "crontab"  aracı ile dakikalık ya da saniyelik zaman dilimlerinde çalıştırarak bu işlemin otomatik gerçekleştirilmesini sağlayabiliriz diye düşünüyorum.

İyi çalışmalar.

 
Gönderildi : 14/09/2011 13:41

(@erdemcilingiroglu)
Gönderiler: 2205
Noble Member
 


Selamlar,


Manuel olarak yapan scripti  "crontab"  aracı ile dakikalık ya da saniyelik zaman dilimlerinde çalıştırarak bu işlemin otomatik gerçekleştirilmesini sağlayabiliriz diye düşünüyorum.


İyi çalışmalar.



Merhaba,


Bu seferde şöyle bir problem çıkabilir diye düşünüyorum. Zaten start olan bir servisi tekrar start edemez. Hataya neden olabilir. Artı olarak periyodik olarak ta stop olmayabilir. Bilmiyorum. Denemedim. Deneyip görmek lazım.


Olursa güzel olur tabi.

 
Gönderildi : 14/09/2011 13:45

(@MusabYardim)
Gönderiler: 67
Trusted Member
 

Selamlar,

Manuel olarak yapan scripti  "crontab"  aracı ile dakikalık ya da saniyelik zaman dilimlerinde çalıştırarak bu işlemin otomatik gerçekleştirilmesini sağlayabiliriz diye düşünüyorum.

İyi çalışmalar.

Merhaba,

Bu seferde şöyle bir problem çıkabilir diye düşünüyorum. Zaten start olan bir servisi tekrar start edemez. Hataya neden olabilir. Artı olarak periyodik olarak ta stop olmayabilir. Bilmiyorum. Denemedim. Deneyip görmek lazım.

Olursa güzel olur tabi.

 

Merhaba,

 Scriptin içeriğini bilmiyorum ama scripte şöyle bir satır ekleyerek bu sorunuda aşabiliriz. Yapılması gereken :

eğer service stop düzeyinde ise start yap

bu şekilde olunca belirttiğiniz problemi ortadan kaldırabiliriz diye düşünüyorum.

Diyelim ki crontabı 1 dakikalık periyotlarla bu scripti çalıştıracak şekilde ayarladık. Crontab 1 dakika sonunda scripti çalıştıracak ve eğer servisimiz stop düzeyinde ise start edecek fakat servisimiz halen aktif yani start düzeyinde ise hiçbir işlem uygulamadan çalışmaya devam edecek.

 

 
Gönderildi : 14/09/2011 14:03

(@mustafagokhankurt)
Gönderiler: 294
Reputable Member
Konu başlatıcı
 

Böyle bir script kullanıyorum aslında. Sistem odasında belirlediğim bir makinenin sıcaklığını ölçüyorum.  35 dereceyi geçince departmana sms ve mail geliyor. Ama bu script'i nagios üzerinde kullanıyorum. Nagios her 15 dk. bir bu script'i çalıştırıp sıcaklığı kontrol ediyor. Ve diğer bütün serverların up/down olup olmadığını kontrol ediyor. Ama sorun şu ya nagios stop olduğunda!!!!!!!  Bunu da kontrol etmem gerekli.

Bu yeni script #service nagios status komutunu çalıştıracak. Eğer output'unda running satırını görürse sorun yok ama running satırı yoksa #service nagios start komutunu çalıştıracak.

 # service nagios status
nagios (pid 18525) is running...

Birde ntop servisini kontrol etmem gerekiyor. Ntop'ı da #pgrep ntop komutu ile kontrol edebiliyorum. Komut çalıştığında output'unda bir değer varsa sorun yok, eğer değer yoksa  /usr/local/bin/ntop -d -i "eth0" -L -P /usr/local/var/ntop -u ntop --skip-version-check --use-syslog=daemon  komutu çalıştırıp ntop'ı up yapacak.

# pgrep ntop
17551

Eğer bunu  C ile bir arkadaş yazarsa gcc ile compile edip binary dosyasını oluşturup, sh autostart.sh olarak crontab'a koyabilirim.

Böyle bir script herkese lazım. 

 
Gönderildi : 14/09/2011 14:04

(@mustafagokhankurt)
Gönderiler: 294
Reputable Member
Konu başlatıcı
 

Arkadaşlar, sizden bi hayır gelmedi bende kendi işimi kendim gördüm. 🙂  Nagios ve ntop için script hazırladım. servisleri stop etsem veya reboot etsem dahi servisler 10 sn. içinde tekrardan başlıyor. script'in çalışma mantığı şöyle, #ps -ef ile bütün servislerin background da nasıl çalıştığını görüyoruz. her 10 sn.de bir servis backgrounda da çalışıyormu diye kontrol ediliyor , eğer bulamazsa servisi başlatıyor. crontab, script ve dosyaların konumunu olarak üç'e ayırdım. vatana millete ve tüm insanlara hayırlı olsun 🙂

FOR NAGIOS

** crontab **
[root@GateWay /]# crontab -l
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
@reboot ./autostart.sh > /tmp/autostart.log 2>&1
[root@GateWay /]#

** autostart.sh   root(/)'un altında.

[root@GateWay /]# cat autostart.sh
#!/usr/bin/env bash
#export ARGELA_RUN_HOME=/
nagios_kontrol()
{
#    hOldPID=0
    while :; do
      hPID=0
        hPID=`pgrep -f '/usr/bin/nagios -d /etc/nagios/nagios.cf'`

      if [ -z "$hPID" ] ; then
          if [ -f $ARGELA_RUN_HOME/sbin/service ]; then
            $ARGELA_RUN_HOME/sbin/service nagios start
          else
            echo "############################################"
            echo "###      Can not find nagios service     ###"
            echo "###      Check ARGELA_RUN_HOME setting   ###"
            echo "###      Execution failed...             ###"
            echo "############################################"
            break
          fi
      else
        sleep 10
      fi
    done
}
nagios_kontrol &

[root@GateWay /]#

***root*********
root'da autostart.sh var.
/tmp/autostart.log  //dosyayı oluştur.

FOR NTOP

** crontab **

[root@argela /]# crontab -l
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
@reboot ./autostart.sh > /tmp/autostart.log 2>&1

[root@argela /]#

** autostart.sh ***  root(/)'un altında.

[root@argela /]# cat autostart.sh
#!/usr/bin/env bash
#export ARGELA_RUN_HOME=/
ntop_kontrol()
{
#    hOldPID=0
    while :; do
      hPID=0
        hPID=`pgrep -f 'ntop'`

      if [ -z "$hPID" ] ; then
          if [ -f $ARGELA_RUN_HOME/./autostart_ntop.sh ]; then
            $ARGELA_RUN_HOME/./autostart_ntop.sh
          else
            echo "############################################"
            echo "### Can not find ntop for executable      ###"
            echo "###      Check NTOP please                ###"
            echo "###       Execution failed...             ###"
            echo "############################################"
            break
          fi
      else
        sleep 10
      fi
    done
}
ntop_kontrol &

[root@argela /]#

** autostart_ntop.sh ***  root(/)'un altında.

[root@argela /]# cat autostart_ntop.sh
/usr/local/bin/ntop -d -i "eth0" -L -P /usr/local/var/ntop -u ntop --skip-version-check --use-syslog=daemon > /tmp/autostart_ntop.log 2>&1
[root@argela /]#

***root************
root'da autostart.sh ve autostart_ntop.sh var.
/tmp/autostart_ntop.log  // dosyası oluşturulur.

##############

script'in çalışma mantığı şöyle;

#ps -ef ile servisi kontrol et.
#pgrep ntop // ile pid'si gör.
#pgrep -f 'ntop'  // script'in çalışma komutunu yaz. bu ntop için pgrep -f 'ntop' nagios için pgrep -f '/usr/bin/nagios -d /etc/nagios/nagios.cf'  // çalıştırdığında daima pid çıkmalı , çıkmıyorsa sorun var demek, her zaman pid çıkmalı.

        hPID=`pgrep -f 'ntop'`    // buraya pid aldığın yeri yaz.

      if [ -z "$hPID" ] ; then
          if [ -f $ARGELA_RUN_HOME/./autostart_ntop.sh ]; then
            $ARGELA_RUN_HOME/./autostart_ntop.sh     // buraya servisi çalıştıracağın path ya da komutu yaz.
 

 
Gönderildi : 22/09/2011 17:35

(@huseyinsevin)
Gönderiler: 821
Prominent Member
 

http://www.rfxn.com/projects/system-integrity-monitor/ bu ürünüde tercih edebilirsiniz. Fakat dikkatli kullanım gerektirebiliyor bir kaç kişiden yüksek CPU tüketimiyle ilgili olumsuz geri dönüşler gözlemlerken bazılarından ise çok olumlu geri dönüşler gözlemlemek mümkün.

 

Ben Redhat bir sunucuda ve Debian da kullandım. Debian da pek verim alamadım fakat Redhat sunucuda gayet sağlıklı bir şekilde kullandım fakat sorunun temel kaynağı Linux ürünlerinin farklılığından çok SIM ürünün sürüm farklılığı diye düşünmekteyim. Şuanki sürümleriyle ilgili net bir bilgim yok. Fakat denemenizde fayda görmekteim.

 
Gönderildi : 04/11/2011 01:56

Paylaş: