daemontools安装和使用

参考:

http://cr.yp.to/daemontools/install.html

daemontools用于自动重启进程。当某个关键服务进程崩溃,可以利用daemontools启动它。前提是安装并配置它。比如zookeeper服务,作为一个关键服务,崩溃后必须重启。下面介绍daemontools在RHEL6.4(el6)上的安装和用法。

1 安装daemontools

首先是el6安装gcc:

# yum install gcc

然后是下载并安装daemontools:

# wget --no-check-certificate http://cr.yp.to/daemontools/daemontools-0.76.tar.gz

# tar zxf daemontools-0.76.tar.gz

# cd admin/daemontools-0.76/

# sed -i 's/extern int errno;/#include <errno.h>/1' ./src/error.h

# ./package/install

2 配置daemontools

配置启动项, 把 csh -cf '/command/svscanboot &' 加入到 /etc/rc.local=>/etc/rc.d/rc.local 末尾:

# sed -i '$acsh -cf \x27\/command\/svscanboot &\x27' /etc/rc.d/rc.local
# sh /etc/rc.local

检查一下服务是否启动:

# ps -ef | grep svscanboot


root      1618     1  0 23:37 ?        00:00:00 /bin/sh /command/svscanboot

root      3992  1911  0 23:51 pts/0    00:00:00 grep svscanboot

3 添加监控的服务

经过以上步骤,我们已经配置好daemontools. 下面添加我们要监控的服务。例如salt-minion。使用下面的命令控制服务:

# service salt-minion status|stop|start|restart

配置一个服务非常简单:

1) 创建一个目录,目录下放一个run脚本

2) run脚本执行启动服务的命令

3) 建立/service下一个链接

整个过程如下:

# mkdir /root/salt
# vi /root/salt/run  # 内容就下面2句:

#!/bin/sh
exec service salt-minion start

# chmod 1755 /root/salt
# chmod 755 /root/salt/run
# ln -s /root/salt /service/salt

神奇的就是最后一句,一旦创建了链接,daemontools就会自动帮你启动salt-minion服务了。你可以试着停止服务,然后在看看服务是否又被启动了:

[root@hacl-node3 ~]# service salt-minion stop
Stopping salt-minion daemon:                               [  OK  ]
[root@hacl-node3 ~]# service salt-minion status
salt-minion (pid  7844) is running...
[root@hacl-node3 ~]# service salt-minion stop
Stopping salt-minion daemon:                               [  OK  ]
[root@hacl-node3 ~]# service salt-minion status
salt-minion (pid  7939) is running...
[root@hacl-node3 ~]# service salt-minion stop
Stopping salt-minion daemon:                               [  OK  ]
[root@hacl-node3 ~]# service salt-minion status
salt-minion (pid  8073) is running...

这样我们就建立了一个高可用的服务。比如zookeeper-server进程。都可以用这种方式管理起来。

daemontools安装和使用的更多相关文章

  1. mha安装使用手册

    mha安装使用手册 注:目前mha最新的版本代码已经不放到google code网站了,而是放在github上,最新的版本为0.57,github链接如下: mha manager:https://g ...

  2. daemontools管理fast-fail的zookeeper

    daemontools项目:http://cr.yp.to/daemontools.html 1.安装daemontools mkdir /package /package cd /package w ...

  3. Supervisor的安装与使用入门

    Supervisor是一个进程管理工具,官方的说法 自己开发的应用往往也希望做到随系统自动启动, 而且启动之后最好还能方便的控制其停止/重启. 传统的做法是在 /etc/init.d/ 下建立启动脚本 ...

  4. 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转]

    有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有,  Microsoft Windows Installer  , Windo ...

  5. 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)

    原文:打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转] 有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的 ...

  6. 一些常用软件的静默安装参数(nsis,msi,InstallShield,Inno)

    打包的时候,经常需要安装一些其它的环境库,而又不想让用户繁锁的去选择,这时就需要静默安装,而不同的文件所加的参数了不一致,比如VS的环境库vcredist_x86.exe(这是32位的环境库)后面加/ ...

  7. [docker]通过阿里云源安装docker && flannel不通问题解决(try this guy out)

    docker清理容器 # 容器停止后就自动删除: docker run --rm centos /bin/echo "One"; # 杀死所有正在运行的容器: docker kil ...

  8. 华硕200系主板完美兼容M.2安装Win7系统

    虽然Windows 10系统的装机率正不断攀升,但经典的Windows 7依然有着大量的用户群体.特别是在我们中国, Windows 7依然是许许多多电脑用户的装机首选系统. 经久不衰的Windows ...

  9. 跳过从Win7/8升级,直接格式化全新安装 Windows 10 并自动永久激活系统的方法教程

    跳过升级,直接激活全新 Win10 的方法步骤教程: 下载 Windows 10 系统的 ISO 镜像 在你当前的 Win7 / Win 8 / 8.1 系统中,使用 DaemonTools 或右键选 ...

随机推荐

  1. Programming In Scala笔记-第四章、类和对象

    类似于Java,Scala中也有类和对象的概念. 一.类.属性和方法 1.类 类是对一类事物的抽象,当一个类被定义后,就可以以该定义为模板,定义该类的一系列对象.比如说有以下一个模板 人类: 有姓名: ...

  2. 查看oracle数据库的连接数以及用户 (转:http://blog.itpub.net/24558279/viewspace-752293/)

    select2.查询oracle的并发连接数4select3.查看不同用户的连接数6select4.查看所有用户:8select5.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):10sel ...

  3. windows 消除文件名中的快捷方式

    1)运行regedit进入注册表.2)依次打开:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer3)右侧框图,把 ...

  4. Redis集群教程(Redis cluster tutorial)

    本博文翻译自Redis官网:http://redis.io/topics/cluster-tutorial        本文档以温和的方式介绍Redis集群,不使用复杂的方式来理解分布式系统的概念. ...

  5. 关于bootstrap在IE8下不能支持自适应的问题

    说到这个问题,我就想吐槽下IE了,开发这么多版本,每个版本都有一些这样那样的问题不支持,别的正常的浏览器咋都能支持呢?真是垃圾浏览器!!!! 说归说,但是IE现在用的人多啊,怎么办?这个问题还是得解决 ...

  6. [python]mysql数据缓存到redis中 取出时候编码问题

    描述: 一个web服务,原先的业务逻辑是把mysql查询的结果缓存在redis中一个小时,加快请求的响应. 现在有个问题就是根据请求的指定的编码返回对应编码的response. 首先是要修改响应的bo ...

  7. Erlang简单并行服务器

    Erlang简单并行服务器(金庆的专栏)Erlang并行服务器为每个Tcp连接创建对应的连接进程,处理客户端数据.参考 Erlang程序设计(第2版)17.1.3 顺序和并行服务器并行服务器的诀窍是: ...

  8. 关于activitygroup过时,用frament替换操作

    现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上, ...

  9. UNIX网络编程——利用recv和readn函数实现readline函数

    在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据.如果应用层协议的各字段长度固定,用readn来读是非常方便的.例如设计一种客户端上传文件的协议,规定前12字节表示文件 ...

  10. Android旋转动画

    Android旋转动画 核心方法 public void startAnimation(Animation animation) 执行动画,参数可以是各种动画的对象,Animation的多态,也可以是 ...