美文网首页
scp+expect 自动填充密码传送目录

scp+expect 自动填充密码传送目录

作者: 是阿离 | 来源:发表于2017-08-29 18:44 被阅读0次

    问题

    需要将A主机上path_a路径的文件备份到B主机上path_b路径下,由于path_a路径下文件比较大也比较多,计划进行后台执行

    方案

    使用expect+scp

        function auto_login_scp(){
            expect -c "
              set timeout -1;
                spawn scp -pr path_a BHostUserName@B:path_b
                log_file /tmp/hostBak_log #日志目录 自己定义
                expect {
                      *assword:* {
                          send $1\r;
                            expect {
                            *denied* {
                                exit: 2;
                                EOF
                            }
                            }
                }
                EOF {exit: 1;}
            }
            "
          return $?
        }
    

    调用:

    auto_login_scp BHostPassWD
    
    TIPS

    scp -p为保留原文件信息,如创建时间、所属用户等

    问题

    通过实际场景使用时发现,除了传送整个目录的方式之外,还有传送目录下部分文件的需求,此需求脚本可见:
    scp+shell+expect传送目录下部分文件

    相关文章

      网友评论

          本文标题:scp+expect 自动填充密码传送目录

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