时间:2021-05-16 09:39:12 | 栏目:Shell | 点击:次
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条件表达式,还有更多,可以到网上查找看看,这里就不重复了。