#
# redis start up the redis server daemon
#
# chkconfig: name on
# description: redis service in /shell/redis
# Usage : ./Redis {start|stop|restart|kill|connect} port
# processname: redis-server
# config: /etc/redis.conf
# By zhongzuzhu
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDIS_PORT=$2
REDIS_PWD=''
EXEC=/usr/bin/redis-server
REDIS_CLI=/usr/bin/redis-cli
HOST="127.0.0.1"
if [ $REDIS_PORT = "6379" ]; then
REDIS_CONFIG="/etc/redis.conf"
PIDFILE="/var/run/redis/redis.pid"
else
REDIS_CONFIG="/etc/redis-${REDIS_PORT}.conf"
PIDFILE="/var/run/redis/redis-${REDIS_PORT}.pid"
fi
SHUTDOWN="/usr/bin/redis-shutdown"
# Description of each port function
case $REDIS_PORT in
6379)
export project='Redis'
;;
6380)
export project='REDIS 6380 PROJECT IS'
;;
6687)
export project='REDIS 6687 PROJECT IS'
;;
6688)
export project='REDIS 6688 PROJECT IS'
;;
*)
;;
esac
echo $project
#make sure some dir exist
#这里是可不要的 根据自己的需求选择
if [ ! -d /var/lib/redis/${REDIS_PORT} ] ;then
mkdir -p /var/lib/redis/${REDIS_PORT}
chown -R redis:redis /var/lib/redis/${REDIS_PORT}
touch /var/log/redis/redis-${REDIS_PORT}.log
chown -R redis:redis /var/log/redis/redis-${REDIS_PORT}.log
fi
function_start_Redis()
{
#printf "Starting Redis... "
#/usr/bin/redis-server $REDIS_CONFIG 2>&1 > /dev/null &
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $REDIS_CONFIG 2>&1 > /dev/null &
retval=$?
fi
if [ "$retval"="0" ]
then
echo -e "Redis is running..."
echo -e "\033[32m OK \033[0m"
else
echo -e "Redis start \033[31m Failed \033[0m"
fi
}
function_stop_Redis()
{
#printf "Stoping Redis... \n"
#redis-cli -h $HOST -p $REDIS_PORT shutdown
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -h $HOST -p $REDIS_PORT shutdown
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
}
function_restart_Redis()
{
printf "Restarting Redis...\n "
function_stop_Redis
sleep 3;
function_start_Redis
}
function_kill_Redis()
{
kill -9 $(ps -ef | grep 'redis-server' | grep ${REDIS_PORT} | awk '{printf $2}')
#kill -9 $(ps -ef | grep 'redis-server' | grep ${REDIS_PORT} | awk '{printf $2}')
}
function_status_Redis()
{
PID=`ps -ef | grep 'redis-server' | grep ${REDIS_PORT} | awk '{printf $2}'`
#echo $PID
if [ ! -f $PIDFILE ]
then
echo "This Port redis does not exist, process is not running"
else
printf "Redis is running ... \n"
printf "pid is `cat $PIDFILE` ... \n"
fi
}
function_enter_Redis()
{
printf "Entering Redis... \n"
redis-cli -h $HOST -p $REDIS_PORT
}
if [ "$1" = "start" ]; then
function_start_Redis
elif [ "$1" = "stop" ]; then
function_stop_Redis
elif [ "$1" = "restart" ]; then
function_restart_Redis
elif [ "$1" = "connect" ]; then
function_enter_Redis
elif [ "$1" = "status" ]; then
function_status_Redis
elif [ "$1" = "kill" ]; then
function_kill_Redis
else
printf "Usage: $0 {start|stop|restart|kill|connect} port \n"
fi
没有评论