您的位置:首页
expect脚本同步文件 expect脚本指定host和要同步的文件 构建文件分发系统 批量远程执行命令
2018-04-29 23:14
736 查看
自动同步文件
#!/usr/bin/expect set passwd "123456" spawn rsync -av root@192.168.133.132:/tmp/12.txt /tmp/ expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } expect eof
指定host和要同步的文件
#!/usr/bin/expect set passwd "123456" set host [lindex $argv 0] set file [lindex $argv 1] spawn rsync -av $file root@$host:$file expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } expect eof chmod +x ex4.sh ./ext4.sh 192.168.133.132 "/tmp/12.txt"
需求背景
对于大公司而言,肯定时不时会有网站或者配置文件更新,而且使用的机器肯定也是好多台,少则几台,多则几十甚至上百台。所以,自动同步文件是至关重要的。
实现思路
首先要有一台模板机器,把要分发的文件准备好,然后只要使用expect脚本批量把需要同步的文件分发到目标机器即可。
核心命令
rsync -av --files-from=list.txt / root@host:/
文件分发系统的实现
• rsync.expect 内容 #!/usr/bin/expect set passwd "123456" set host [lindex $argv 0] set file [lindex $argv 1] spawn rsync -avR --files-from=$file / root@$host:/ expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } expect eof
如果不能保证对应机器上也有相同的文件路径加上-R 自动创建
list.txt内容 (保证文件列表路径对方机器也有)
/tmp/12.txt /root/shell/1.sh 。。。。
ip.list内容
192.168.133.132 192.168.133.133 ......
如果多台主机密码不同可以搞秘钥认证。
rsync.sh 内容
#!/bin/bash for ip in `cat ip.list` do echo $ip ./rsync.expect $ip list.txt done
执行:chmoda+x rsync.sh
./rsync.sh
批量远程执行命令
exe.sh 内容#!/bin/bash for ip in `cat ip.list` do echo $ip ./exe.expect $ip "w;free -m;ls /tmp" done
相关文章推荐
- 十七周四次课 2018.03.05 expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统、批量远程执行命令
- 十七周四次课(11月30日) 20.31 expect脚本同步文件 20.32 expect脚本指定host和要同步的文件 20.33 构建文件分发系统 20.34 批量远程执行命令
- expect脚本同步文件,expect脚本指定host和要同步的文件,构建文件分发系统,批量远程执行命令
- linux学习第七十篇:expect脚本同步文件,expect脚本指定host和要同步的文件,构建文件分发系统,批量远程执行命令
- expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令
- expect脚本同步文件、指定host和要同步的文件、构建文件分发系统、批量远程执行命令
- expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统、批量远程执行
- expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统、批量远程执行
- expect脚本同步文件,构建文件分发系统,批量远程执行命令
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
- 20.31 expect脚本同步文件;20.32 expect脚本指定host和要同步的文件;20.33 构建文件分发系统;20.34
- 分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数
- 【shell编程】分发系统介绍、expect脚本远程登录、expect脚本远程执行命令和expect脚本传递参数
- 分发系统介绍,expect脚本远程登录,远程执行命令,传递参数
- 分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数
- 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
- 20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数
- 分发系统介绍、expect脚本远程执行命令、expect脚本远程传递参数、expect脚本传递参数
- 十七周三次课 2018.02.27分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
- 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数