DAY11

分发系统介绍
分发系统:上线的shell脚本,核心expect脚本语言,实现传输文件,远程执行命令

上线:开发人员开发的代码,上传到在线服务器

首先准备一台模板机器,代码是准备上线的代码,使用expect脚本,借助rsync把这些代码推送到50台机器的过程

expect脚本远程登录
首先安装expect
在这里插入图片描述

自动远程登录

在这里插入图片描述
在这里插入图片描述

加入执行权限
在这里插入图片描述

执行expect脚本,成功登录
在这里插入图片描述

expect脚本远程执行命令

在这里插入图片描述

在这里插入图片描述
expect “]*” ,当匹配到"]"时,执行命令

远程登录并执行命令然后退出
在这里插入图片描述

查看执行结果

在这里插入图片描述

expect脚本传递参数
在这里插入图片描述
在这里插入图片描述
执行脚本
在这里插入图片描述
执行多条命令,用双引号括起来
在这里插入图片描述
expect脚本同步文件

在这里插入图片描述
在这里插入图片描述

更改权限
在这里插入图片描述

执行脚本

在这里插入图片描述

查看执行结果
在这里插入图片描述

expect eof需要加上,作用是等脚本命令执行完再进行退出

expect脚本指定host和要同步的文件
在这里插入图片描述
在这里插入图片描述

更改权限,执行脚本

在这里插入图片描述

构建文件分发系统
需求背景
对于大公司而言,肯定时不时会有网站或者配置文件更新,而且使用的机器肯定也是好多台,少则几台,多则几十甚至上百台。所以,自动同步文件是至关重要的。

实现思路
首先要有一台模板机器,把要分发的文件准备好,然后只要使用expect脚本批量把需要同步的文件分发到目标机器即可。

核心命令
rsync -av --files-from=list.txt / root@host:/

创建rsync.expect脚本

在这里插入图片描述

创建同步文件的列表文件
在这里插入图片描述

vi /tmp/file.list

在这里插入图片描述

创建同步IP的列表文件

vi /tmp/ip.list

在这里插入图片描述

创建一个rsync.sh脚本(遍历一下 ip列表文件中的 ip地址)
在这里插入图片描述

更改权限
在这里插入图片描述

执行脚本
在这里插入图片描述

在这里插入图片描述

注:同步的时候,需要保证对方机器也有相同的路径,可以使用 -R创建路径;做分发系统的前提是需要保证同步的机器密码一致,这样会造成密码泄露的安全隐患,可以使用密钥认证。

批量远程执行命令
创建exe.expect

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建exe.sh

在这里插入图片描述

执行脚本
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值