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