Linux 下 scp 传输文件脚本

脚本执行效果:
(1).远程传输本地 /ora_exp/dmp/CWDB_RAMS_* 文件至 11.4.24.21 的 /ora_exp/dmp 目录下。
 
脚本编写步骤:
假设 oracle 用户于 11.4.24.21 上的密码为 123abc,传输本地 /ora_exp/dmp/CWDB_RAMS_* 文件至 11.4.24.21 的 /ora_exp/dmp 目录下。
则传输脚本类似如下。
#!/bin/sh
expect -c "
  spawn bash -c \"scp /ora_exp/dmp/CWDB_RAMS_*  oracle@11.4.24.21:/ora_exp/dmp\"
  expect {
    \"yes/no\" {send \"yes\r\"; exp_continue;}
    \"*assword\" {set timeout 300; send \"123abc\r\";}
  }
  expect eof"
注意:yes/no 判断后必须加入  exp_continue,这样才能保证 yes/no 判断后还能执行 *assword 的判断。
注意:scp 传输文件中经常使用了通配符,而如果直接使用 spawn 传递带通配符的命令 scp /ora_exp/dmp/CWDB_RAMS_*  oracle@11.4.24.21:/ora_exp/dmp\ 将无法执行。因此,需在 spawn 内套用 bash -c 调用带通配符的命令。

转载于:https://www.cnblogs.com/autopenguin/p/5918738.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值