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 你可以自定义。