天天看点

Memcached进程挂掉自动重启脚本

  由于一台WEB服务器的Memcached死掉而导致在访问网站的某些页面时候打不开,下面脚本会自动检测Memcached的进程,如果挂掉则自动重启Memcached服务。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<code>cat</code> <code>/root/sh/memcached_check</code><code>.sh</code>

<code>#!/bin/sh</code>

<code>#check memcached process and restart if down</code>

<code>PATH=$PATH:</code><code>/opt/env/memcache/bin/memcached</code>

<code>DATE=`</code><code>date</code> <code>-d </code><code>"today"</code> <code>+</code><code>"%Y-%m-%d-%H:%M"</code><code>`</code>

<code>#用ps命令查看memcached进程</code>

<code>MM=`</code><code>ps</code> <code>-aux |</code><code>grep</code> <code>"memcached"</code> <code>|</code><code>grep</code> <code>"11211"</code> <code>|</code><code>grep</code> <code>-</code><code>v</code> <code>"grep"</code> <code>|</code><code>wc</code> <code>-l`</code>

<code>#if语句判断进程是否存在,如果不存在,输出日志记录并重启memcached服务</code>

<code>if</code> <code>[ </code><code>"$MM"</code> <code>== </code><code>"0"</code> <code>]; </code><code>then</code>

<code>    </code><code>echo</code> <code>"$DATE The memcached is problem and restart"</code> <code>&gt;&gt; </code><code>/root/sh/memcached_check</code><code>.logs</code>

<code>/opt/env/memcache/bin/memcached</code> <code>-t 8 -d -m 2048 -p 11211 -u nobody</code>

<code>    </code><code>else</code>

<code>#echo "$DATE The memcached is ok" &gt;&gt;/root/sh/memcached_check.logs</code>

<code>fi</code>

<code>#添加计划任务,每5分钟检测一次。</code>

<code>*</code><code>/5</code> <code>* * * * </code><code>/bin/bash</code>    <code>/root/sh/memcached_check</code><code>.sh</code>

本文转自 sfzhang 51CTO博客,原文链接:http://blog.51cto.com/sfzhang88/874388,如需转载请自行联系原作者