自定义脚本将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




Memcache 服务管理脚本的更多相关文章

  1. 如何写SysV服务管理脚本

    本文目录: 1.1 SysV脚本的特性1.2 SysV脚本要具备的能力1.3 start函数分析1.4 stop函数分析1.5 reload函数分析1.6 status.restart.force-r ...

  2. [转贴]systemd 编写服务管理脚本

    [转贴]sparkdev大神的博客, 关于 systemd的配置文件的 介绍, 自己之前二进制安装 k8s 时 超过一个 service文件 但是当时不明不白的. 现在再学习一下大神的文章 的确牛B ...

  3. systemd 编写服务管理脚本

    我们运行 linux 服务器的主要目的是通过运行程序提供服务,比如 mysql.web server等.因此管理 linux 服务器主要工作就是配置并管理上面运行的各种服务程序.在 linux 系统中 ...

  4. systemd 编写服务管理脚本---学习

    转载:https://www.cnblogs.com/sparkdev/p/8521812.html 我们运行 linux 服务器的主要目的是通过运行程序提供服务,比如 mysql.web serve ...

  5. 自己编写服务启动脚本(一):functions文件详细分析和说明

    本文目录: 1.几个显示函数2.action函数3.is_true和is_false函数4.confirm函数5.pid检测相关函数 5.1 checkpid.__pids_var_run和__pid ...

  6. systemd 服务管理编写

    1.编辑服务管理脚本 $ cat /lib/systemd/system/kafka.service [Unit] Description=Kafka Server Documentation=htt ...

  7. CentOS 7安装/卸载Redis,配置service服务管理

    Redis简介 Redis功能简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 相比于传统的关系型数据库,Redis的存储方式是key-va ...

  8. centOS 6 服务管理与服务脚本

    服务管理与服务脚本   linux服务 服务管理与服务脚本 linux服务 服务启动过程详解 chkconfig命令 非独立服务与xinetd进程 一个特殊的服务脚本   服务启动过程详解 在开机启动 ...

  9. 第11章 Linux服务管理

    1. 服务分类 (1)Linux的服务 ①Linux中绝大多数的服务都是独立的,直接运行于内存中.当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快.但不利之处是系统中服务越多,消耗的资源越 ...

随机推荐

  1. CF 1093 G. Multidimensional Queries

    G. Multidimensional Queries 链接 分析: 考虑如何去掉绝对值符号. $\sum \limits_{i = 1}^{k} |a_{x, i} - a_{y, i}|$,由于k ...

  2. linux 问题收集

    1,错误信息:bunzip2: command not found 解决方法:yum install -y bzip2 2,The X11 forwarding request was rejecte ...

  3. win10家庭版没有组策略怎么办?(win10管理员已阻止你运行此应用”解决方法)

    把下面代码复制到TXT文本中,把文本再改成   .cmd  格式保存后以管理员身份运行 @echo off pushd "%~dp0" dir /b C:\Windows\serv ...

  4. Linux(centos7)之更换安装python3(二)

    Linux不比window好安装python,折腾了好久,终于成功安装上了python,window上一个安装包完事,可惜Linux上python版本太低不好使,还要更换为3版本,百度了好久,教程上总 ...

  5. Linux-C语言标准输入输出

    标准 I/O 库(stdio)及其头文件 stdio.h 为底层 I/O 系统调用提供了一个通用的接口.这个库现在已经成为 ANSI 标准 C 的一部分.标准 I/O 库提供了许多复杂的函数用于格式化 ...

  6. 为什么HashMap桶(链表)的长度超过8会转换成红黑树?

    百度了一下,感觉能说清楚的并不多,所以在此记录一下. 首先说一说转换为红黑树的必要性: 红黑树的插入.删除和遍历的最坏时间复杂度都是log(n), 因此,意外的情况或者恶意使用下导致hashCode( ...

  7. ifup,ifdown命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/jing99/p/7881779.html ifup命令网络配置 ifup命令用于激活指定的网络接口.ifdown命令用 ...

  8. [linux] LVM原磁盘扩容(非增加磁盘)

    阿里云机器,ECS运行时磁盘由300G扩容到500,重启机器生效后登录.可以看到/data目录总大小300G,/dev/vdb已经扩容到500G. [root@HD1g-elasticsearch2 ...

  9. [ c++] cmake 编译时 undefined reference to `std::cout' 错误的解决方案

    cmake ..  和 make 之后,出现如下错误 Linking CXX executable ../../../bin/ModuleTest CMakeFiles/ModuleTest.dir/ ...

  10. Scrum meeting报告

    Scrum Meeting报告 要点: 讨论XueBa系统已有的和待实现的功能 短期内的任务分配 初步确定小组成员在第一轮迭代开发中任务 一.      XueBa系统已有的和待实现的功能 项目完成情 ...