sh memcached 进程启动及监控

1.memcached_inc.sh

设置路径,端口等讯息。

#!/bin/sh  

#config include  

HOST=$(hostname)
SITE="mysite"
PORT=11211  

MEMCACHED_PID_FILE="/tmp/memcached.pid"
MEMCACHED_DAEMON_PID_FILE="/tmp/memcached_daemon.pid"  

MEMCACHED="memcached -d -m 64 -p $PORT -u memcache -l 127.0.0.1 -P $MEMCACHED_PID_FILE"
MEMCACHED_DAEMON_FILE="memcached_daemon.sh"  

ERROR_LOG_FILE="${ROOT}/memcached_${SITE}_${HOST}_${PORT}.log"

返回栏目页:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/

2.gm_memcached.sh

控制memcached 启动,停止,重启。

#!/bin/sh  

#memcached start and stop
#$1 action  

ROOT=$(cd "$(dirname "$0")"; pwd)  

. ${ROOT}/memcached_inc.sh  

start() {  

    if [ -f "$MEMCACHED_PID_FILE" ] && [ -s "$MEMCACHED_PID_FILE" ]; then
        printf "memcached already running\n"
    else
        printf "starting memcached\n"
        $MEMCACHED  

        sleep 2  

        PID=$(cat $MEMCACHED_PID_FILE)
        printf "memcached is started PID:$PID\n"  

        printf "starting memcached daemon\n"
        ${ROOT}/${MEMCACHED_DAEMON_FILE} &
        DAEMON_PID=$!
        echo ${DAEMON_PID} > ${MEMCACHED_DAEMON_PID_FILE}
        printf "memcached daemon is started PID:${DAEMON_PID}\n"
    fi  

}  

stop() {  

    if [ -f "$MEMCACHED_DAEMON_PID_FILE" ] && [ -s "$MEMCACHED_DAEMON_PID_FILE" ]; then
        DAEMON_PID=$(cat $MEMCACHED_DAEMON_PID_FILE)
        rm -f ${MEMCACHED_DAEMON_PID_FILE}
        if [ ! -z ${DAEMON_PID} ]; then
            kill -9 ${DAEMON_PID}
        fi
        printf "memcached daemon is stopped\n"
    else
        printf "no memcached daemon running\n"
    fi  

    sleep 1  

    if [ -f "$MEMCACHED_PID_FILE" ] && [ -s "$MEMCACHED_PID_FILE" ]; then
        PID=$(cat $MEMCACHED_PID_FILE)
        rm -f ${MEMCACHED_PID_FILE}
        if [ ! -z ${PID} ]; then
            kill -9 ${PID}
        fi
        printf "memcached is stopped\n"
    else
        printf "no memcached running\n"
    fi  

}  

case "$1" in  

    start)
        start
        ;;  

    stop)
        stop
        ;;  

    restart)
        stop
        sleep 3
        start
        ;;  

    *)
        printf "Usage:$0 {start|stop|restart}\n"
        exit 1    

esac  

exit 0

3.memcached_daemon.sh

监控memcached 进程,如进程失效则自动启动。

#!/bin/sh  

#memcached daemon  

ROOT=$(cd "$(dirname "$0")"; pwd)  

. ${ROOT}/memcached_inc.sh  

while :
do
    if [ -f "$MEMCACHED_PID_FILE" ] && [ -s "$MEMCACHED_PID_FILE" ]; then
        PID=$(cat $MEMCACHED_PID_FILE)
    else
        PID=""
    fi  

    if [ -z "$PID" ] || [ -z $(ps aux|awk '{print $2}' | grep "^$PID$") ]; then
        $MEMCACHED
        sleep 1
        printf "[$(date +%Y-%m-%d' '%H:%M:%S)] ${SITE} ${HOST} memcached ${PORT} is restarted\n" >> $ERROR_LOG_FILE
        echo "Subject: ${SITE} ${HOST} memcached ${PORT} is restarted $(date +%Y-%m-%d' '%H:%M:%S)" | sendmail me@gmail.com
    fi  

    sleep 5  

done  

exit 0

使用方法:

./gm_memcached.sh start   #启动memcached
./gm_memcached.sh stop    #停止memcached
./gm_memcached.sh restart #重启memcached

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索printf
, memcached
, memcache
, pid
, start
, daemon
, THEN
, daemon启动
, memcached进程监控
, stop
, memcache使用方法
memcache启动
c 监控进程的启动、监控进程启动、memcached 进程、memcached 进程 挂掉、memcached 守护进程,以便于您获取更多的相关知识。

时间: 2024-08-19 08:58:04

sh memcached 进程启动及监控的相关文章

Shell脚本实现的memcached进程监控_linux 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 ww

使用shell脚本对Linux系统和进程资源进行监控

Shell 语言对于接触 LINUX 的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收http://www.aliyun.com/zixun/aggregation/18678.html">用户输入的命令并把它送入内核去执行.实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核.它没有一般编程语言的"编译 - 链接 - 运行"过程.不仅如此,Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 s

Memcached进程挂掉后的自动重启脚本

由于一台WEB服务器的Memcached死掉而导致在访问网站的某些页面时候打不开.下面脚本会自动检测Memcached的进程,如果挂掉则自动重启Memcached服务. vim memcached_check.sh #!/bin/sh #check memcached process and restart if down PATH=$PATH:/opt/env/memcache/bin/memcached DATE=`date -d "today" +"%Y-%m-%d-%

图片-请问:用java代码调用memcached的启动,为何memcached没有反应?谢谢!

问题描述 请问:用java代码调用memcached的启动,为何memcached没有反应?谢谢! 解决方案 你的命令不正确,使用 String cmdStr = "F:/memcached_en32or64/x64/memcached.exe –d start"; 具体命令如下: C:memcached>memcached.exe -h memcached 1.2.6 -p TCP port number to listen on (default: 11211) -U UDP

windows系统如何禁止Popwndexe.exe进程启动

  曾经安装过或者正在使用瑞星杀毒软件的用户才会有popwndexe.exe这个进程,这个进程还存在一个问题就是会被瑞星杀毒软件自己拦截. 那么如何才能取消popwndexe.exe在这个进程了? 具体步骤如下: 一.Popwndexe.exe是什么进程 这个软件是"瑞星软件部署系统"相关文件,软件部署系统的作用:为瑞星各个产物提供快速.高效.不变的升级处事,提高病毒库升级效率,降低资源消耗! 难怪小编这里没有,原来是瑞星的,据说开机的时候瑞星会对这个程序进行拦截,不知道为什么. 二.

ps aux grep-如图所示,进程就是kill不掉 如何彻底杀掉rsc.sh的进程

问题描述 如图所示,进程就是kill不掉 如何彻底杀掉rsc.sh的进程 [root@app01 ~]# ps aux|grep rsc.sh root 63891 0.0 0.0 103252 852 pts/1 S+ 10:35 0:00 grep rsc.sh [root@app01 ~]# kill -9 63891 -bash: kill: (63891) - No such process [root@app01 ~]# ps aux|grep rsc.sh root 63968 0

application-Android进程启动,究竟是哪个Component触发的?

问题描述 Android进程启动,究竟是哪个Component触发的? 我们知道Android进程启动,肯定是由于某个组件(Activity,BroadcastReciever,Service,ContentProvider)触发的. 而且我们也经常看到如下的log(tag=ActivityManager过滤): 01-27 20:02:53.397 388-388/system_process I/ActivityManager: **Start proc com.android.dialer

memcached的启动参数概述

-p 指定端口号(默认11211)   -U <num> UDP监听端口 (默认: 11211, 0 时关闭) -s <file>     用于监听的UNIX套接字路径(禁用网络支持) -a <mask>     UNIX套接字访问掩码,八进制数字(默认:0700) -m 指定最大使用内存大小(默认64MB)   -t 线程数(默认4) -l <ip_addr> 绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1

Linux进程资源用量监控和按用户设置进程限制

由于 2016 年 2 月 2 号开始启用了新的 LFCS 考试要求,我们在已经发表的 LFCS 系列 基础上增加了一些必要的主题.为了准备考试,同时也建议你看看 LFCE 系列 文章. 每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工作的方法,这些方法能够避免潜在的会导致生产环境下线或钱财损失的问题发生. 报告 Linux 进程统计信息 你可以使用