AWS amazon Linuxでrepcachedの起動スクリプト書いたメモ。
こちらを参考にさせて頂きました。Repcacheを調べてみる
- repcached用としては提供されていないので、改修したものを下記に記載。
$ sudo vim /etc/init.d/repcached
#! /bin/sh
#
# chkconfig: - 55 45
# description: The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/repcached
# pidfile: /var/run/memcached/memcached.pid
# Standard LSB functions
#. /lib/lsb/init-functions
# Source function library.
. /etc/init.d/functions
EXEC=/usr/local/bin/memcached
REPHOST=localhost
PORT=11211
USER=memcached
MAXCONN=1024
CACHESIZE=64
OPTIONS=""
if [ -f /etc/sysconfig/repcached ];then
. /etc/sysconfig/repcached
fi
# Check that networking is up.
. /etc/sysconfig/network
if [ "$NETWORKING" = "no" ]
then
exit 0
fi
RETVAL=0
prog="repcached(memcached)"
PIDFILE=/var/run/memcached/repcached.pid
LOCKFILE=/var/lock/subsys/repcached
start () {
echo -n $"Starting $prog: "
daemon --pidfile $PIDFILE $EXEC -d -x $REPHOST -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P $PIDFILE $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $LOCKFILE
}
stop () {
echo -n $"Stopping $prog: "
killproc -p $PIDFILE $EXEC
RETVAL=$?
echo
if [ $RETVAL -eq 0 ] ; then
rm -f $LOCKFILE $PIDFILE
fi
}
restart () {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p $PIDFILE $prog
RETVAL=$?
;;
restart|reload|force-reload)
restart
;;
condrestart|try-restart)
[ -f $LOCKFILE ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart|try-restart}"
RETVAL=2
;;
esac
exit $RETVAL
- 設定ファイルを記述
- こちらは、環境で適宜書き換えが必須
$ sudo vim /etc/sysconfig/repcached
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="メガ指定" OPTIONS="" REPHOST="ホストのIP"
- 自分はREPHOSTはEIPのパブリックネームにしてたりします。
ローガルでの接続で、経費削減、できてると思うんだ・・・!
- スクリプトに実行権限付与
$ sudo chmod +x /etc/init.d/repcached
- pidを記録するディレクトリ作成(ユーザmemcachedで書き込みをするため。)
$ sudo mkdir /var/run/memcached $ sudo chown memcached:memcached /var/run/memcached
- サービス登録&自動起動の設定
$ sudo chkconfig --add repcached $ sudo chkconfig repcached on $ sudo chkconfig --list | grep repcached
- サービスとして起動&停止
$ sudo service repcache start $ sudo service repcache stop $ sudo service repcache status $ sudo service repcache restart