脚本执行效果:
(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 调用带通配符的命令。

相关文章:

  • 2021-12-29
  • 2022-12-23
  • 2022-02-05
  • 2021-11-23
  • 2021-07-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
  • 2022-12-23
  • 2021-12-26
  • 2021-11-11
  • 2022-12-23
相关资源
相似解决方案