场景:随着业务愈来愈大,网站或者APP服务端所使用的编程语言为PHP,须要配置lamp或者lnmp环境,还须要把代码上传到服务器上去。可是平时业务功能不断增长,须要改代码,若是有几十台上百台机器,就须要一个分发系统,将每次更新的代码发布到新的机器上去。shell
核心shell脚本:expect,能够实现传输文件,也能够远程执行命令编程
思路:首先要准备一台模板机器,机器上的代码是最新代码(准备上线),而后要知道上线机器的IP地址,对应用户的密码,使用expect脚本,借助于rsync将这些代码推送到机器上去,还能够经过expect去执行一些命令。服务器
首先安装expect编程语言
自动远程登陆网站
加入执行权限spa
执行expect脚本,成功登陆lnmp
expect "]*" ,当匹配到"]"时,执行命令模板
远程登陆并执行命令而后退出登录
查看执行结果配置
执行脚本
执行多条命令,用双引号括起来