美文网首页
使用expect实现异机备份

使用expect实现异机备份

作者: KKMYDESTINY | 来源:发表于2017-11-27 17:16 被阅读0次

简介: 建立在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
!
  • spawn
    spawn是进入expect环境后才可以执行的expect内部命令,它主要的功能是给ssh运行进程加个壳,用来传递交互指令。
  • scp
    scp 命令可以 在 linux 之间复制文件和目录。

相关文章

网友评论

      本文标题:使用expect实现异机备份

      本文链接:https://www.haomeiwen.com/subject/xpexbxtx.html