当前位置:  开发笔记 > 后端 > 正文

Shell脚本实现的memcached进程监控

这篇文章主要介绍了Shell脚本实现的memcached进程监控,实现功能为监控memcached进程是否存在,不存在则启动memcached并重载nginx,需要的朋友可以参考下

WEB服务器使用memcached,但是不知道为什么memcached老是挂掉(基本20分钟~50分钟左右),导致部分网站页面在访问的时候出错;定义日志后,查看日志也未能发现什么;初步判定由于之前更新libevent有关系。由于线上服务器,所以先用脚本来弥补下

#!/bin/sh 
pid=`ps aux|grep -v grep|grep memcached|awk '{print $2}'` 
memcached=`/usr/local/memcached/bin/memcached -u www &` 
nginx=`/usr/local/nginx/sbin/nginx -s reload &` 
if [ -z "$pid"] 
then 
echo $memcached 
echo $nginx 
fi

上面脚本主要温故2个知识点,一个是awk、一个是if的条件表达式;当然那些单引号、双引号、特殊单引号也是烦人的。只是一个基础脚本,很菜,不过可以实现我要的功能了,首先判断memcached进程是否存在,如果不存在则启动memcached和重载nginx。

最后加入到系统任务中,每隔5分钟判定一次:

*/15 * * * * /root/memcached.sh

完工!

关于if条件表达式,还有更多,可以到网上查找看看,这里就不重复了。

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有