- 论坛徽章:
- 0
|
web服务器是nginx,是一个cluster,修改来修改去的很麻烦.
- cat /root/mgr_slave
- #!/bin/sh
- #[email]ipv6chia@comsenz.com[/email]
- #conf
- MASTER_HOST=192.168.0.10
- CONF=/usr/local/nginx/conf/nginx.conf
- PROC=/usr/local/nginx/sbin/nginx
- PID=/var/run/nginx.pid
- #sum md5
- SLAVE_SIG=`md5sum $CONF|awk '{print $1}'`
- MASTER_SIG=`ssh $MASTER_HOST "md5sum $CONF"|awk '{print $1}'`
- #check sig and reload or start nginx process
- [ $SLAVE_SIG != $MASTER_SIG ] && scp $MASTER_HOST:$CONF $CONF && ( kill -HUP `cat $PID` &>/dev/null || eval $PROC ) || ( ! netstat -lnp|grep nginx && eval $PROC )
复制代码
crontab 每分钟执行
*/1 * * * * /root/mgr_slave
需要和master_HOST做个ssh信任
逻辑是:
比对master和本地的nginx配置文件是否一样,如果不一样就复制过来,并重起nginx进程,如果nginx进程不存在,也会重起,由于我们有集中监控,所以这里就没加启动失败的报警,如果你需要,可以自己加个发mail报警,现在很多手机都支持接收mail,很方便 |
|