Memcache 服务管理脚本

自定义脚本将memcached作为系统服务启动以及开机启动。

一、编写脚本

在/etc/init.d/目录下新建一个脚本,名称为:memcached。内容如下:
vi /etc/init.d/memcached
  1. #!/bin/bash
  2. #description: Memcached Service Daemon
  3. #processname: Memcached
  4. #chkconfig: 2345 90 50
  5. #Source function library.
  6. . /etc/rc.d/init.d/functions
  7. . /etc/sysconfig/network
  8. memcached_exec="/usr/local/bin/memcached"
  9. memcached_pid="/var/run/memcached.pid"
  10. lockfile="/var/lock/subsys/memcached"
  11. prog="memcached"
  12. memcached_host="182.168.36.54"
  13. memcached_port=11411
  14. memcached_memory="1024"
  15. start() {
  16. if [ $UID -ne 0 ]; then
  17. echo "User has insufficient privilege."
  18. exit 4
  19. fi
  20. [ -x $memcached_exec ] || exit 5
  21. echo -n $"starting $prog: "
  22. daemon $memcached_exec -u daemon -d -m $memcached_memory -l $memcached_host -p $memcached_port -c 256 -P $memcached_pid
  23. retval=$?
  24. echo
  25. [ $retval -eq 0 ] && touch $lockfile
  26. }
  27. stop() {
  28. if [ $UID -ne 0 ]; then
  29. echo "User has insufficient privilege."
  30. exit 4
  31. fi
  32. echo -n $"Stopping $prog: "
  33. if [ -n "`pidfileofproc $memcached_exec`" ]; then
  34. killproc $memcached_exec
  35. else
  36. failure $"stopping $prog"
  37. fi
  38. retval=$?
  39. echo
  40. [ $retval -eq 0 ] && rm -f $lockfile
  41. }
  42. status() {
  43. # run checks to determine if the service is running or use generic status
  44. status $prog
  45. }
  46. case "$1" in
  47. "start")
  48. start
  49. ;;
  50. "stop")
  51. stop
  52. ;;
  53. "restart")
  54. stop
  55. sleep 3
  56. start
  57. ;;
  58. "status")
  59. status
  60. ;;
  61. *)
  62. echo $"Usage: $0 {start|stop|status|restart}"
  63. exit 1
  64. ;;
  65. esac
  66. exit $?
此脚本使用了functions文件里的函数,因此需要将其加载进来。因为要判断memcached服务的运行状态,所以在调用memcached程序时,传递了pid文件参数。因为在此脚本中判断运行状态以及停止memcached服务时,是使用pid文件来进行的。
由上面的脚本可以看出,提供了四个动作:start、stop、status、restart。

添加执行权限:

  1. chmod +x /etc/init.d/memcached

二、memcached服务的安装

查看memcached服务是否在chkconfig管理列表:
chkconfig --list memcached
将其加入chkconfig管理:
chkconfig --add memcached
chkconfig --level 235 memcached on

三、memcached服务启动

chkconfig --list | grep memcached
service memcached start
service memcached stop
service memcached restart




上一篇:Linux下使用doxygen+vim生成c语言源程序文档的方法


下一篇:nginx高性能WEB服务器系列之八--nginx日志分析与切割