自动化部署脚本使用说明:
前置要求:使用expect实现自动交互,所以要求每台服务器都需要安装expect软件,通过命令which expect查看是否安装。如果发现没有安装,使用yum install expect安装。
关于登陆:1. 直接使用root账号 2. 无法获取root密码,可以使用自己的账号(有sudo权限)。 3. 配置ssh互信,无密码登陆。
这里采用第2种方式,首先会将需要拷贝的文件[中转]复制到目的服务器/home/liudewei/目录下,然后登陆到目的服务器通过shell命令sudo拷贝到指定目录下。
详细步骤:
1. 修改servers.conf 服务器IP及账号配置
10.126.32.89 liudewei xxx
...
2. 修改transfer_file.conf 需要拷贝到多台服务器上的文件配置
#需要拷贝的脚本,目标服务器中转目录,目标服务器实际目录
/data/bin/performance.py /home/liudewei/performance.py /data/bin
3. batch_exec.sh和deploy.sh 批量执行脚本, deploy.sh基本不用改动。
文件拷贝到目标服务器后,我们需要做个校验是否拷贝成功,或者执行一些其他命令,比如验证并重启nginx等。
可以修改batch_exec.sh脚本:
# custom execute command
exec_command="sudo cp -r $dest_file $real_dest_file; /data/bin/./show.sh"
注意:假设在A主机上执行脚本,需要在目标服务器上开通A主机白名单访问,否则会提示:ssh_exchange_identification: Connection closed by remote host。
以上都搞定后直接执行./batch_exec.sh,执行日志记录到nowdate-deploy.log。
日志2015-07-27-deploy.log:
########################开始部署时间: 2015-07-27 11:38:44##########################
--------->No:1 deploy host IP:10.126.32.89
scp file is ok
deploy 10.126.32.89 is ok
########################结束部署时间: 2015-07-27 11:38:49##########################
点击这里下载脚本
posted on 2015-07-29 13:48
David1228 阅读(5543)
评论(0) 编辑 收藏 所属分类:
Linux 、
云计算、虚拟化