使用daemontools监控服务

#!/bin/sh

 

exec 2>&1

exec /Data/apps/memcached/bin/memcached -u root -m 3000 -p 23934 -d -t 4 -f 1.1 -c 2048 -b 2048daemontools是sendmail的一个组件,单独使用它来监控服务,比如memcache,可以有效的保证服务的可用性。

 

http://cr.yp.to/daemontools/daemontools-0.76.tar.gz

 

  • 在根目录建立文件夹 /package, mkdir -p /package
  • chmod -1755 /package
  • cd /package
  • cp daemontools-0.76.tar.gz .
  • tar -zxf daemontools-0.76.tar.gz
  • rm -f  daemontools-0.76.tar.gz
  • cd admin/daemontools-0.76
  • package/install

如果install有错误:

 

 

/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o

/lib64/libc.so.6: could not read symbols: Bad value

collect2: ld 返回 1

make: *** [envdir] 错误 1

Copying commands into ./command...

cp: 无法 stat “compile/envdir”: 没有那个文件或目录

 

 

 

则编辑src/conf-cc, 加gcc加上-include /usr/include/errno.h 使用标准错误

 

 

 

安装正确后就可以配置服务了,在/services/下建立目录,比如memcached,增加run文件:

 

 

#!/bin/sh

 

exec 2>&1

exec /Data/apps/memcached/bin/memcached -u root -m 3000 -p 23934 -d -t 4 -f 1.1 -c 2048 -b 2048

 

chmod +x run  记得要授权

 

然后ps -aux 看进程就可以了。

 

测试的时候可以kill -9 掉memcached的进程,然后再看是否自动起来了。

 

 

 

另外记录一点和memcached相关的,如果启动时提示找不到libevent-1.4.so.2:

 

 

ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2

你可能感兴趣的:(使用daemontools监控服务)