十七周三次课 2018.02.27分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
2018-02-28 21:18
991 查看
20.27 分发系统介绍
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/74c6388b43307ed0d30a49d69f43ac6d)
分发系统就是把每一段时间更新的代码分别的发布到若干台机器上去,(避免了一台一台操作的麻烦)其实就是上线的shell脚本。
20.28 expect脚本远程登录
分发系统最核心的就是expect脚本,我们首先看看有没有安装
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/dc68f8a391e997ef4a4c83b751753101)
然后我们来写一个自动远程登录并执行命令的脚本。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/c86a9f19d0e22b8b78ac1f8359319fc2)
内容如下
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/33167f693a41fb87deb8292f73b5169c)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/16974b71779a6ec86b2c8eb7e90f4bcd)
登录机器的语句
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/9e813f6ccdfa085a342388a3b3cdcc5e)
是核心语句,前面yes/no是第一次登录机器都会提示的,意思是是否登录,这里是一个截取或者说匹配,如果里面有yes/no就会执行后面的内容,下面的passwd也是。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/8570411c544a4261bac3625e23ec5eaa)
表示发送yes,\r表示回车,exp_continue表示继续。
写好之后加一个执行权限
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/31234d7ecf3e84f070925877357d08c7)
然后执行
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/075cd334ce3d9453eae5279196a768e3)
就可以登录上去了。
20.29 expect脚本远程执行命令
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/cdda7fd8fa74681612c53131b4a21675)
这里没有像上面一个脚本加
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/21f0630ace83c21cdd19f6c64fc7fe65)
(退出脚本的意思,但是还是停留在这个机器上)因为我们还要做操作。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/95248421a7dd2cad89c5a905d3237b57)
匹配]*,(就是登录用户之后显示的前缀里面就会带有这个)
匹配上之后就执行命令
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/30015be18391ead1370cddabae9e9dda)
下面一次同上,然后最后
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/f93368a4ce674eee0c41e352fec40262)
退出。
然后给它加权限再执行。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/fe142d944034ec46de60928b7606c22d)
20.30 expect脚本传递参数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/189428e5a6404d856c9a4bfa768234b4)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/07eb1df1be76b250827bc106b7212e4f)
要传输的两个参数变量,分别是用户名和域名,执行脚本的时候需要在后main跟上用户名和域名
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/58191f161ce81bb895ae3b55bd1dbc69)
要传输的命令,同样在执行的时候跟在后面
执行方法如下图,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201802/1306827f91afa22f2d2905beb0105188)
执行多条明命令,如下图
分发系统就是把每一段时间更新的代码分别的发布到若干台机器上去,(避免了一台一台操作的麻烦)其实就是上线的shell脚本。
20.28 expect脚本远程登录
分发系统最核心的就是expect脚本,我们首先看看有没有安装
然后我们来写一个自动远程登录并执行命令的脚本。
内容如下
登录机器的语句
是核心语句,前面yes/no是第一次登录机器都会提示的,意思是是否登录,这里是一个截取或者说匹配,如果里面有yes/no就会执行后面的内容,下面的passwd也是。
表示发送yes,\r表示回车,exp_continue表示继续。
写好之后加一个执行权限
然后执行
就可以登录上去了。
20.29 expect脚本远程执行命令
这里没有像上面一个脚本加
(退出脚本的意思,但是还是停留在这个机器上)因为我们还要做操作。
匹配]*,(就是登录用户之后显示的前缀里面就会带有这个)
匹配上之后就执行命令
下面一次同上,然后最后
退出。
然后给它加权限再执行。
20.30 expect脚本传递参数
要传输的两个参数变量,分别是用户名和域名,执行脚本的时候需要在后main跟上用户名和域名
要传输的命令,同样在执行的时候跟在后面
执行方法如下图,
执行多条明命令,如下图
相关文章推荐
- 分发系统介绍expect脚本远程登录expect脚本远程执行命令 expect脚本传递参数
- 分发系统介绍,expect脚本远程登录,远程执行命令,传递参数
- 分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数
- 分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数
- 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
- 20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数
- 【shell编程】分发系统介绍、expect脚本远程登录、expect脚本远程执行命令和expect脚本传递参数
- 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
- 分发系统介绍、expect脚本远程执行命令、expect脚本远程传递参数、expect脚本传递参数
- 20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行
- 十七周四次课 2018.03.05 expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统、批量远程执行命令
- 20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行
- 20.27 分发系统介绍 expect脚本远程登录 脚本远程执行
- 20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行
- 十七周四次课(11月30日) 20.31 expect脚本同步文件 20.32 expect脚本指定host和要同步的文件 20.33 构建文件分发系统 20.34 批量远程执行命令
- expect脚本同步文件、指定host和要同步的文件、构建文件分发系统、批量远程执行命令
- expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令
- expect脚本同步文件,构建文件分发系统,批量远程执行命令
- expect脚本同步文件 expect脚本指定host和要同步的文件 构建文件分发系统 批量远程执行命令
- linux学习第七十篇:expect脚本同步文件,expect脚本指定host和要同步的文件,构建文件分发系统,批量远程执行命令