前言:
在生产运维变更时,有时需要通过免密方式下载远程主机的文件或目录,这时可以使用expect和内部命令 spawn实现该需求。本文模拟通过scp免密获取远程主机指定路径下相关文件和目录至本地服务器。
环境说明:
主机名
操作系统版本
ip
expect version
备注
ansible-awx
Centos 7.6.1810
172.27.34.51
5.45
本地服务器,获取文件至本地
client
Centos 7.6.1810
172.27.34.85
/
远程主机
一、expect安装
[root@ansible-awx ~]# which expect
/usr/bin/which: no expect in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@ansible-awx ~]# yum -y install expect
若没有expect命令,则需安装
二、构造测试文件和目录
[root@client product]# pwd
/root/product
[root@client product