• 06-07-2008, 18:08:54
    #1
    Merhabalar,
    Bugün 1numarahost dan yavuz bey le konuşurken 1 script önerdi. yazılana göre httpd düşünce kendini otomatik restart ediyor ama hangi mantıkla çalıştığını ben çözemedim kodlardan, yorumlarınızı bekliyorum.

    nano /usr/local/httpdrestart.sh

    Alıntı

    #!/bin/bash

    # Apache Process Monitor
    # Restart Apache Web Server When It Goes Down
    # -------------------------------------------------------------------------

    # Copyright (c) 2003 nixCraft project <http://cyberciti.biz/fb/>
    # This script is licensed under GNU GPL version 2.0 or above
    # -------------------------------------------------------------------------

    # This script is part of nixCraft shell script collection (NSSC)

    # Visit Bash Shell Scripting Directory For Linux / UNIX for more information.

    # -------------------------------------------------------------------------



    # RHEL / CentOS / Fedora Linux restart command
    RESTART=
    "service httpd restart"

    # uncomment if you are using Debian / Ubuntu Linux

    #RESTART=
    "/etc/init.d/apache2 restart"

    #path to pgrep command

    PGREP=
    "/usr/bin/pgrep"

    # find httpd pid
    $PGREP httpd

    if [ $? -ne 0 ] #instead of -eq
    then
    # restart apache
    $RESTART
    fi
    Kaydet çık.

    Crontab a ekle :

    Alıntı
    */5 * * * * /usr/local/httpdrestart.sh >/dev/null 2>&1
  • 06-07-2008, 18:38:03
    #2
    Merhabalar : Cok basit 1 script , calisma mantigini ogrenmek istiyorsaniz kisaca ;

    Script , "/usr/bin/pgrep httpd" ile calisan httpd process'lerini ariyor eger bunlar demis 0 yada 0 'a esit ise (uzmanlik derecesinde bash bilmiyorum) apache'ye reset at , gayet kullanisli basit 1 mantik sergilenmis , arsivlik olabilir.

    iyi calismalar.
  • 06-07-2008, 19:15:36
    #3
    sunucuoptimizasyon.com
    yanılmıyorsam cpanelde otomatik olarak aynı olayı yapıyor
  • 06-07-2008, 19:56:56
    #4
    Kurumsal Üye
    Cpanel'de " Service Manager" de aynı işlemi yapıyor. Directadmin de daha uzun bir süre geçtikten sonra kontrol ediyor sanırım açık olup olmadığını.

    Küçük ama kullanışlı bir script.
  • 07-07-2008, 00:36:11
    #5
    teşekkür arkadaşlar bu script çok işime yarıyacak ozaman. peki aynı şeyi mysql de veya diğer servisler de yapabilirmiyim yukarıya service mysqld restart yazarak.
  • 07-07-2008, 01:30:58
    #6
    kankenan adlı üyeden alıntı: mesajı görüntüle
    teşekkür arkadaşlar bu script çok işime yarıyacak ozaman. peki aynı şeyi mysql de veya diğer servisler de yapabilirmiyim yukarıya service mysqld restart yazarak.
    Merhaba,

    Sizin verdiğiniz bash scripti değiştirdim. Mysql için çalışması lazım. ( Garanti vermiyorum. )

    nano /usr/local/mysqlrestart.sh

    Alıntı
    #!/bin/bash

    # RHEL / CentOS / Fedora Linux restart command
    RESTART="service mysql restart"

    # uncomment if you are using Debian / Ubuntu Linux
    #RESTART="/etc/init.d/mysql restart"

    #path to pgrep command
    PGREP="/usr/bin/pgrep"

    # mysql pid araniyor..
    $PGREP mysqld

    if [ $? -ne 0 ] #instead of -eq
    then
    # mysql yeniden baslatiliyor...
    $RESTART
    fi
    Crontab
    Alıntı
    */5 * * * * /usr/local/mysqlrestart.sh >/dev/null 2>&1
    Denemedim ama mantık olarak çalışması lazım.
  • 07-07-2008, 01:35:12
    #7
    PGREP mysql bölümü mysqld olması gerekmiyormu. onun haricinde aklıma şu geldi : genelde http veya mysql düşmez yani düşmesi çok zordur ama şişer. düşmesini beklemek yerine şiştiginde restart etsek daha iyi olmazmı
  • 07-07-2008, 01:37:50
    #8
    kankenan adlı üyeden alıntı: mesajı görüntüle
    PGREP mysql bölümü mysqld olması gerekmiyormu. onun haricinde aklıma şu geldi : genelde http veya mysql düşmez yani düşmesi çok zordur ama şişer. düşmesini beklemek yerine şiştiginde restart etsek daha iyi olmazmı
    Gözümden kaçmış. Düzelttim.
  • 07-07-2008, 01:49:25
    #9
    kankenan adlı üyeden alıntı: mesajı görüntüle
    PGREP mysql bölümü mysqld olması gerekmiyormu. onun haricinde aklıma şu geldi : genelde http veya mysql düşmez yani düşmesi çok zordur ama şişer. düşmesini beklemek yerine şiştiginde restart etsek daha iyi olmazmı
    farketmez, pgrep processler içerisinde mysql geçenleri bulup ProcessID'yi veriyor o bakımdan elma yerine elm de yazsan sonuç alırsın.
    mysqld nin içinde mysql geçtiği için