2012-03-15 97 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