2012-03-15 145 views
0

我的服務器是centos 5.7。我需要使用cron作業的腳本,一旦內存使用率達到55%,就會自動重新啓動mysql服務。是我的bash腳本是否正確?

下面的腳本是否正確?

#!/bin/bash 

TOTAL=`free | grep Mem | awk '{print $2}'` 
USED=`free | grep buffers\/cache | awk '{print $3}'` 
let PERCENT=$USED*100/$TOTAL 

if [ $PERCENT -gt 55 ]; then 
    service mysqld restart 
fi 
+6

你在服務器上試過這個嗎?結果是什麼? – ABach 2012-03-15 02:56:42

+0

@ABACH我在bash上一無所知,我通過谷歌獲得了這個腳本。我只是不確定劇本是否正確。 – 2012-03-15 02:59:06

回答

1

是的,這是基本的,但是正確的。

更完整和強大的方法是隻安裝monit,它可以對這樣的條件下操作,並提供其他服務。

+0

我,monit的是更加難以配置 – 2012-03-15 03:17:20

+0

@EdwardHuang:這是比較困難的,真實的,但你得到監測和內置的警報此外,一次性的cronjob不能輕易做出基於過去運行的數據做出決定。 (沒有「國家」)。但是,嘿,我想如果我說我不寫或使用幾十個像你貼一個腳本的謊言:) – 2012-03-15 03:21:42