从远程服务器拷贝数据文件到指定的服务器上,估计是需要同学都遇到过的问题。如果用scp来实现自动拷贝文件,但是需要用户来输入的密码,否则无法实现,怎么办?听说expect可以解决这个问题。
首先 先检测 服务器上面有没有 expect

 rpm -qa | grep expect

如果没有
安装

 yum install -y expect

参考脚本

 #!/bin/bash
expect -c "
spawn scp root@1.2.3.4:/root/1.log /root
expect {
\"*assword\" {set timeout 300; send \"password\r\";}
\"yes/no\" {send \"yes\r\"; exp_continue;}
}
expect eof"
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐