最近碰上memcached老是挂掉,-vv倒是有日志,但是-v后就不生成错误日志了,所以查了半天没有找到根本原因。只能用变相的方法临时解决一下,写个shell,检测一下是否服务halt了,是的话启动一下memcached。
#!/bin/bash
# for restart memcached service
# by tiandi 2015.09.21
echo "start checking ...";
process=`ps aux|grep memcached|grep -v grep`;
if [ "$process" == "" ]; then
sleep 5;
echo "Not Detect memcached!!!!";
echo "Try to start memcached...";
memcached -d -p 11211 -u memcached -m 1024 -c 1024 -P /srv/logs/memcached/memcached.pid -v >> /tmp/memcached.log
echo `date +%Y-%m-%d_%X` "Memcached forced restart." >> /home/tiandi/memcached.`date +%Y-%m-%d`;
else
sleep 5;
#echo `date +%Y-%m-%d_%X` "Detect memcached." >> /home/tiandi/memcached.`date +%Y-%m-%d`;
fi
以上脚本用来判定当前是否有memcached进程,没有的话,则重新启动服务。然后用cron把这个shell做成计划执行即可。
文章评分1次,平均分5.0:★★★★★

第一个 sleep 5 什么作用呀?
没啥用,就是纯粹sleep