美文网首页
使用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