使用expect实现异机备份

2017-11-27  本文已影响0人  KKMYDESTINY

简介: 建立在tcl基础上的一个工具,它可以让一些需要交互的任务自动化地完成。expect等待输出中输出特定的字符,通常是一个提示符,然后发送特定的响应。

例如我们需要文件自动的异机备份,可用以下脚本配合定时任务来实现:

#/bin/sh

#... 省略若干shell脚本

/usr/local/bin/expect <<!  #切换到expect
spawn scp -i /root/ssh密钥 /data/需要备份的文件 root@IP:/data/backup
expect {
  "(yes/no)?" { #ssh第一次链接的时候会输出Are you sure you want to continue connecting (yes/no)?
    send "yes\n"
    expect "*passphrase*" {send "password\n"}
  }
  "*passphrase*" {
    send "password\n"
  }
}
expect {
  "100%" {
    send "exit\n"
  }
}
expect eof # 退出expect
!
上一篇下一篇

猜你喜欢

热点阅读