Yüksek yük,Otomatik yeniden başlatma MySQL,apache

#!/bin / sh
# crontab: */3 * * * * /Kök / loadavg_restart_apache.sh >> /Wise / İnsanlar / Ristart_apacheklog
senkronize etmek
senkronize etmek
Eko 3 > /proc / sys / vm / drop_caches
TOP_SYS_LOAD_NUM = 5
SYS_LOAD_NUM = `çalışma süresi | awk ‘{baskı $(NF-2)}’ | sed ‘s /, //’ '
Eko $(tarihi +”%y-% m-% D”) `uptime`
Eğer [ `yankı “$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM”|bc` -eq 1 ]
sonra
senkronize etmek
Eko “#0#” $(tarihi +”%y-% m-% d, H%:%M:%S”) “pkill httpd” `PS -ef | grep httpd | wc -l`
Eko “#0#” $(tarihi +”%y-% m-% d, H%:%M:%S”) “pkill mySQL” `PS -ef | grep mysql | wc -l`
httpd servisi durdurma
Servis MySQL durağı
uyku 8
pkill httpd
pkill mySQL

uyku 8
i için 1 2 3
yap
Eğer [ `Pgrep MySQL | -Tuvalet -l` 0 ]
sonra
/sbin / hizmet MySQL başlangıç

uyku 30
Eko “#1#” $(tarihi +”%y-% m-% d, H%:%M:%S”) “mySQL başlamak” `PS -ef | grep mysql | wc -l`

olmak

Eğer [ `Pgrep httpd | -Tuvalet -l` 0 ]
sonra

httpd servisi başlatma

hizmet wdapache başlangıcı

uyku 30

Eko “#1#” $(tarihi +”%y-% m-% d, H%:%M:%S”) “httpd'yi başlat” `PS -ef | grep httpd | wc -l`
olmak

tamam
Başka
Eğer [ `Pgrep MySQL | -Tuvalet -l` 0 ]
sonra
/sbin / hizmet MySQL başlangıç

uyku 30
Eko “#2#” $(tarihi +”%y-% m-% d, H%:%M:%S”) “mySQL başlamak” `PS -ef | grep mysql | wc -l`

olmak

Eğer [ `Pgrep httpd | -Tuvalet -l` 0 ]
sonra

httpd servisi başlatma

 

uyku 30

Eko “#2#” $(tarihi +”%y-% m-% d, H%:%M:%S”) “httpd'yi başlat” `PS -ef | grep httpd | wc -l`
olmak

olmak

Yukarıdaki dosya,保存在 /root/loadavg_restart_apa_my.sh

然后在

crontab -e

添加

*/3 * * * * /root/loadavg_restart_apa_my.sh >> /var/log/restart_apa_my.log

*/3 ***** 表示3分钟,/root/loadavg_restart_apa_my.sh 你可以自定义

Yorum Yap