由于一台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>>> </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" >>/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,如需轉載請自行聯系原作者