自定义脚本将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. Kubernetes学习之路(十五)之Ingress和Ingress Controller

    目录 一.什么是Ingress? 1.Pod 漂移问题 2.端口管理问题 3.域名分配及动态更新问题 二.如何创建Ingress资源 三.Ingress资源类型 1.单Service资源型Ingres ...

  2. 2_C语言中的数据类型 (一)2.1.常量和字符串常量

    2.1 常量就是在程序中不可变化的量,常量在定义的时候必须给一个初值. 1.1.1          #define 定义一个宏常量 1.1.2          const 定义一个const常量 ...

  3. python连接数据库问题小结

    在使用python连接数据库的时候遇到了这个问题: 大概意思就是在django的setting.py中配置的用户名和密码报错. 主要就是修改setting.py的配置 其中在里边的name和user项 ...

  4. Altium中坐标的导出及利用坐标快速布局

    器件的坐标其实在我们处理布局的时候,非常有用,例如A板布局导入B板. 1.在A板PCB中执行菜单命令“File-Assembly-Generates Pick and Place File”对器件的坐 ...

  5. 解决了一个困扰我近一年的vim显示中文乱码的问题

    今天解决了vi命令打开日志文件中文总是显示乱码的问题.由于项目组中的日志包含一些特殊字符,所以使用vim打开日志文件时总是不能正确识别出文件字符编码.此时用:set fileencoding命令可以看 ...

  6. 《杜增强讲Unity之Tanks坦克大战》6-发射子弹

    6 发射子弹 本节完成发射子弹的功能,最终代码如下:   image 首先,发射子弹得确定发射的位置和方向,还有发射的初始速度.具体的发射速度和按下发射按键的时间长短有关,这个关于子弹的蓄力我们在第九 ...

  7. Flash导出安卓端apk

    最近外甥女在学校做了一个演示视频,基于flash做的,希望小舅给她导出成可以运行在pc/android端的可执行程序.看了下过程还是蛮复杂的,还只能一天时间.重新照葫芦画瓢做一款是来不及了,由于以前基 ...

  8. django-simple_tag、filter

    simple_tag与filter的用法 1.支持自定义函数处理方法 2.支持模板调用 创建步骤: a.在app目录下创建templatetags文件夹 b.在templatetags中创建任意名称. ...

  9. windows下在virtualbox中的Fuel Openstack 9.0 安装过程

    一.材料: 1.软件: virtualbox xshell(或putty,winscp) bootstrap.zip(580MB) mirrors(3.01GB) MirantisOpenStack- ...

  10. P4562 [JXOI2018]游戏

    题面 题目描述 她长大以后创业了,开了一个公司. 但是管理公司是一个很累人的活,员工们经常背着可怜偷懒,可怜需要时不时对办公室进行检查. 可怜公司有 \(n\) 个办公室,办公室编号是 \(l\) 到 ...