Redisにパスワードを設定したときは、デフォルトの起動スクリプトではシャットダウンができません。
Redisのパスワードを設定します。
# vim /etc/redis/6379.conf
requirepass password
Redisをリスタート。
# /etc/init.d/redis_6379 stop
# /etc/init.d/redis_6379 start
パスワードが設定された状態で、Redisをストップ。
# /etc/init.d/redis_6379 stop
Stopping ...
(error) ERR operation not permitted
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
シャットダウンできない。。。
これは、シャットダウンするときにパスワードが必要な為ですね。
起動スクリプトを下記のように編集すると良いでしょう。
PASS="password"でパスワードを設定。
シャットダウン時に-a $PASSオプションを追加します。
# vim /etc/init.d/redis_6379
#/bin/sh
# chkconfig: 345 44 56
# description: redis_6379
#Configurations injected by install_server below....
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF="/etc/redis/6379.conf"
REDISPORT="6379"
PASS="password"
###############
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT -a $PASS shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
以上、簡単なメモでした。