Rumah > pembangunan bahagian belakang > tutorial php > 如何通过sh memcached 进程启动及监控

如何通过sh memcached 进程启动及监控

jacklove
Lepaskan: 2023-03-31 13:20:02
asal
2033 orang telah melayarinya

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"
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

使用方法:

./gm_memcached.sh start   #启动memcached
./gm_memcached.sh stop    #停止memcached
./gm_memcached.sh restart #重启memcached
Salin selepas log masuk

本文讲解了如何通过sh memcached 进程启动及监控 ,更多相关内容请关乎php中文网。

相关推荐:

介绍自动登入google play下载app report 的相关内容

关于Apache rewrite 的相关介绍

关于php click captcha 验证码类的介绍

Atas ialah kandungan terperinci 如何通过sh memcached 进程启动及监控. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan