• sh memcached 进程启动及监控


    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"

    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

  • 相关阅读:
    ubuntu 18.04 修改 固定ip
    java 加载properties
    Free 4 months Serial License Key Of Outpost Security Suite Pro 8.1
    免费申请一年版Eset NOD32 Antivirus激活码(无限制)- 已失效
    微软软件运行库下载
    Bitdefender Total Security 2014 Free 6 Months & 12 month License Key
    如何将Virtualbox和VMware虚拟机相互转换[译文211]
    Virtualbox安装Windows 8.1遇到0x000000C4错误解决办法
    VirtualBox 4.3“不能为虚拟电脑 打开一个新任务”解决方案
    docx文件怎样打开
  • 原文地址:https://www.cnblogs.com/fdipzone/p/3715126.html
Copyright © 2020-2023  润新知