Shell自动化SCP传输

本脚本需要借助expect完成,expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。

首先,需要确认系统中已经安装expect,如果没有可以使用rpm或者yum方式安装:

rpm -qa|grep expect

yum -y install expect*

脚本示例如下:

#!/bin/bash
passwd=’oracle’
cat /home/oracle/test.txt
expect -c “
spawn scp /home/oracle/rman_201709031134.log /home/oracle/test.txt [email protected]:/home/oracle
expect {
 \”(yes/no)?\” {send \”yes\n\”; expect \”*assword:\” {send \”$passawd\n\”}}
 \”*assword:\” {send \”$passwd\n\”}
 }
expect eof

#将/home/oracle/rman_201709031134.log /home/oracle/test.txt文件传输到192.168.1.90主机oracle用户下的/home/oracle目录中

#如果出现(yes/no),自动输入yes

#如果出现*assword,自动输入密码

--待续

转自 https://medium.com/@iuai1120/shell%E8%87%AA%E5%8A%A8%E5%8C%96scp%E4%BC%A0%E8%BE%93-93e93bb2f7ee

你可能感兴趣的:(Linux)