专栏首页python3python rsync 数据同步脚本

python rsync 数据同步脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pexpect
import time
import traceback

def doRsync(user,passwd,ip,srcDir,dstDir,timeout=3600):
        cmd = "rsync -azPq --delete {srcDir} {rUser}@{rHost}:{dstDir}".format(rUser = user,rHost=ip,srcDir=srcDir,dstDir=dstDir)
        try:
                ssh = pexpect.spawn(cmd,timeout=timeout)
                i = ssh.expect(['password:', 'continue connecting (yes/no)?'], timeout=5)
                if i == 0 :
                        ssh.sendline(passwd)
                elif i == 1:
                        ssh.sendline('yes')
                        ssh.expect('password: ')
                        ssh.sendline(passwd)
                ssh.expect(['#',pexpect.TIMEOUT,pexpect.EOF])
                ssh.close()
        except :
                print traceback.format_exc()
                pass
if __name__ == '__main__':
        doRsync("tpuser","12345","10.1.1.230","/data/local/backupdir/","/data/local/backupdir/")

参考链接:

https://www.cnblogs.com/MikeZhang/p/rsyncExample_20160818.html http://blog.csdn.net/csapr1987/article/details/7692455

疑问1:

pexpect.spawn的对象child调用read()时触发TIMEOUT异常 ssh远程操作

read() 需要程序回话结束并且返回EOF才能读取剩下的所有内容

详细可见 pexpect模块参数解释

参考链接:https://blog.51cto.com/749807/1566258

pexpect模块参数解释

https://www.jianshu.com/p/cfd163200d12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 之 pexpect模块

    python安装setuptools模块之后,便可使用easy_install来安装python的第三方扩展模块,默认安装路径是:

    py3study
  • Rancher 2.4.3 - HA 部署高可用k8s集群

    对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server。当安装在Kubernetes集群中时,Rancher将与...

    py3study
  • python 利用pexpect进行多机

    在安装之前,确认你的机器安装了python,和easy_install.通常python是自动安装的,如果没有安装easy_install,那么wget -q ...

    py3study
  • “激活创新——圆桌对话”系列:伊藤穰一、大卫·格鲁斯曼、艾伦·萨耶格、斯普特尼子!

    转自 中央美术学院 ? ? 2017年12月4日上午,「未·未来」全球教育计划“激活创新——圆桌对话”进入第三场,本场活动邀请到了麻省理工学院媒体实验室主任伊...

    企鹅号小编
  • 想挖矿?不如先学习一下以太坊

    许多使用点对点协议且基于区块链的项目在性能和吞吐量上夸大其辞。在研发阶段,这些项目已经出现了一些创新,但是一旦这些协议运行时,它们大多对经常遇到的挑战难以作出解...

    AI研习社
  • 拨动情绪的内容设计

    ? 腾讯ISUX isux.tencent.com 社交用户体验设计 ? 全文2300字,阅读仅需10分钟。作者将向你展示QQ团队在打磨短视频拍摄能力的思考...

    腾讯ISUX
  • 简单实现通过netty通信,后续提供基于protobuf传输协议的rpc框架

    gfu
  • 收藏 | 什么是设计?

    前段时间和拉钩网合作,让我来聊聊面试求职者的过程中喜欢问的问题和自己对这个问题的理解。由于我自己本身就是设计从业者,所以在面试求职者的过程中,除了会聊具体项目中...

    宇相
  • 什么是域名停放?如何选择域名停放服务商?

    利用闲置域名解析到一个广告页面,当有人访问此域名点击广告,域名所有人就能得到收入的一种方式。一般是提供域名停放服务商,预先做了一程序页面,让你把需要停放的域名解...

    雪梦科技
  • 美国数字视频产业的货币化(36PPT)

    大数据文摘

扫码关注云+社区

领取腾讯云代金券