分发系统介绍&expect脚本远程登录&expect脚本远程执行命令&expect脚本传递参数
20.27 分发系统介绍 应用场景 企业中随之业务的逐渐增大,后端所使用的编程语言是php,系统为LAMP/LNMP架构,需要将代码上传到服务器中;代码会不断的迭代,这就需要在业务服务器上更新代码,一台一台地手动迭代很不现实,这就需要建立一个分发系统,将代码自动分发到各个服务器上,实现自动化更新! 定义 所谓的分发系统,实际上是通过expect这种脚本语言实现的。 准备工作 这个分发系统首先要准备一台模板机,更新好代码,同时需要知道推送的多台服务器的用户及密码,最后通过编写expect脚本,借助于rsync,登录到各个服务器,并将代码推送过去。该方法同样支持命令的分发! 20.28 expect脚本远程登录 安装软件包 yum install -y expect 编写远程登录脚本 [root@dr1 sbin]# cd /usr/local/sbin [root@dr1 sbin]# vi 1.expect #! /usr/bin/expect set host "192.168.88.10" ##定义目标地址变量,变量内容为目标主机的IP地址 set passwd "123456" ##定义目标密码变量,变量内容为目标主机的登录密码 spawn ssh root@$host ##执行shell命令,以root用户远程登录 expect { ##expect代码段用于执行交互