• 08-01-2008, 20:31:26
    #1
    Arkadaşlar şöyle bir sistem istiyorum,

    load 18'in üzerine çıktığında otomatik olarak apache restart yapabilmek veya

    load 18'in üstüne çıktığında otomatik olarak xxx klasorunu xxx2 yapılmasını, tekrar 10'un altına düştüğünde ise yine oto. olarak xxx olarak adının değiştirilmesini istiyorum.

    Acaba bu istediklerim mümkün mü? Yardımcı olursanız sevinirim
  • 10-01-2008, 12:45:41
    #2
    eSlow ilgilendiğin için teşekkürler...

    Ama tam olarak isteğimin cevabını alabildim:

    iyinet adlı üyeden alıntı:
    Bu kodu 1 sene kadar önce yazmıştım, sizin için düzenledim umarım işinize yarar.

    word ve word2 dizinlerinin tam path ini girmelisiniz, ben /word ve /word2 dedim, eğer dizin /usr/html/word ise siz o şekilde editleyiniz.

    apacheyi_koru.sh
    load=`/usr/bin/uptime|/bin/awk -F"user" '{print $2}'|/bin/awk -F, '{print $2}'|/bin/awk '{print $3}'`
    load=`/bin/echo "$load * 100" |/usr/bin/bc|/bin/awk -F. '{print $1}'`
    if [[ $load -gt 1800 ]]
    then
    echo "Load:" $load ". httpd yi durdur dosya adini degistir!"
    /sbin/service httpd stop
    /bin/mv /word /word2
    fi
    if [[ $load -lt 1000 ]]
    then
    num=`/sbin/service httpd status|/bin/grep running|/usr/bin/wc -l|/bin/awk '{print $1}'`
    if [ $num -lt 1 ]
    then
    echo "Load:" $load ". httpd yi baslat, dosya adini eski haline getir!"
    /bin/mv /word2 /word
    /sbin/service httpd start
    fi
    fi
    Dosyayi çalışır hale getirelim:
    chmod 755 apacheyi_koru.sh
    Dosyayı crontab içine ekleyelim:
    crontab -e
    bu satırı ekleyin (scriptin /root altında olduğunu varsayarak):
    * * * * * /root/apacheyi_koru.sh > /dev/null 2>&1
    Bu ayar her dakika çalıştırmak içindir.

    3dk da bir çalıştırmak için
    */3 * * * * /root/apacheyi_koru.sh > /dev/null 2>&1


    Otomatik Apache Restart veya Dosya adı değiştirme - Webmaster Forumu