修改上一篇的memcached启动脚本的相关配置参数就得到magent的启动脚本了,跟memcached的启动脚本一样,只修改如下的相关参数即可:

  1. MAGENT_CONF=" -u root -n 51200 -l 192.168.10.11 -p 12000 -s 192.168.10.12:11211 192.168.10.13:11211 -b 192.168.101.11:11211 " 

magent相关参数参考:

memcached agent v0.4 Build-Date: Mar 28 2012 06:20:51
Usage:
  -h this message
  -u uid
  -g gid
  -p port, default is 11211. (0 to disable tcp support)
  -s ip:port, set memcached server ip and port
  -b ip:port, set backup memcached server ip and port
  -l ip, local bind ip address, default is 0.0.0.0
  -n number, set max connections, default is 4096
  -D don't go to background
  -k use ketama key allocation algorithm
  -f file, unix socket path to listen on. default is off
  -i number, set max keep alive connections for one memcached server, default is 20
  -v verbose

完整脚本如下:

  1. #!/bin/sh 
  2. And add me to system start 
  3. # chmod +x magent 
  4. # chkconfig --add magent 
  5. # chkconfig --level 35 magent on 
  6. # Written by jason.kou 
  7. Last updated: 2012-08-17 
  8. # chkconfig:   - 85 15  
  9. # description:  Distributed memory caching daemon 
  10. # processname: magent 
  11.  
  12. # Source function library. 
  13. . /etc/rc.d/init.d/functions 
  14.  
  15. # Source networking configuration. 
  16. . /etc/sysconfig/network 
  17.  
  18. Check that networking is up. 
  19. "$NETWORKING" = "no" ] && exit 0 
  20.  
  21. memcached="/usr/local/magent/magent" 
  22. prog=$(basename $memcached) 
  23.  
  24. MAGENT_CONF=" -u root -n 51200 -l 192.168.10.11 -p 12000 -s 192.168.10.12:11211 192.168.10.13:11211 -b 192.168.10.11:11211 " 
  25.  
  26. lockfile=/var/lock/subsys/magent 
  27.  
  28. start() { 
  29.     [ -x $memcached ] || exit 5 
  30.     echo -n $"Starting $prog: " 
  31.     daemon $memcached $MAGENT_CONF 
  32.     retval=$? 
  33.     echo 
  34.     [ $retval -eq 0 ] && touch $lockfile 
  35.     return $retval 
  36.  
  37. stop() { 
  38.     echo -n $"Stopping $prog: " 
  39.     killproc $prog 
  40.     retval=$? 
  41.     echo 
  42.     [ $retval -eq 0 ] && rm -f $lockfile 
  43.     return $retval 
  44.  
  45. restart() { 
  46.     stop 
  47.     start 
  48.  
  49. rh_status() { 
  50.     status $prog 
  51.  
  52. rh_status_q() { 
  53.     rh_status >/dev/null 2>&1 
  54.  
  55.  
  56. case "$1" in 
  57.         start) 
  58.         $1 
  59.         rh_status_q || exit 0 
  60.         $1 
  61.         ;; 
  62.     stop) 
  63.         stop 
  64.         ;; 
  65.     restart|configtest) 
  66.         $1 
  67.         ;; 
  68.     status) 
  69.         rh_status 
  70.         ;; 
  71.     *) 
  72.          echo $"Usage: $0 {start|stop|status|restart}" 
  73.         exit 2 
  74. esac