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条件表达式,还有更多,可以到网上查找看看,这里就不重复了。
您可能感兴趣的文章:- 用shell脚本监控进程是否存在 不存在则启动的实例
- SHELL脚本监控JAVA进程的代码
- Shell脚本实现Linux系统和进程资源监控
- linux进程监控shell脚本代码
- Shell脚本实现监控swap空间使用情况和查看占用swap的进程
- shell监控linux系统进程创建脚本分享
- shell脚本实现服务器进程监控的方法