linux rsync 目录同步,关于linux:linux下使用rsync同步目录

本文形容了linux下应用rsync单向同步两个机器目录的问题。 应用rsync同步后能够放弃目录的一致性(含删除操作)。

数据同步形式

1、从主机拉数据

备机上启动的流程

同步命令:

rsync -avzP –delete root@{remoteHost}:{remoteDir} {localDir}

参数阐明:

-a 参数,相当于-rlptgoD(-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 示意放弃文件原有权限;-t 放弃文件原有工夫;-g 放弃文件原有用户组;-o 放弃文件原有属主;-D 相当于块设施文件); -z 传输时压缩; -P 传输进度; -v 传输时的进度等信息;

示例:

rsync -avzP –delete root@192.168.1.100:/tmp/rtest1 /tmp/

2、向备机推数据

主机上启动的流程

同步命令:

rsync -avzP –delete {localDir} root@{remoteHost}:{remoteDir}

示例:

rsync -avzP –delete /tmp/rtest1 root@192.168.1.101:/tmp/

主动同步配置

形容同步时不输出明码的配置的办法。

1、应用ssh key

该办法能够间接应用rsync命令进行同步,同步过程中无需输出明码。

在主机上产生ssh key :

ssh-keygen -t rsa

在备机上退出pubkey

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.101

或者手动增加:

在主机上执行以下命令获取pubkey:

cat ~/.ssh/id_rsa.pub

在备机上退出key内容:

vi ~/.ssh/authorized_keys

应用pexpect主动输出明码

示例代码如下:

*#!/usr/bin/env python# –– coding: utf-8 -*-import pexpectimport timeimport tracebackdef 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) print cmd 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.read() ssh.close() except : #print traceback.format_exc() passif name == ‘main’: doRsync(“root”,”123456″,”192.168.1.101″,”/tmp/rtest1″,”/tmp”)

下面是应用python实现的代码,大家可依据状况用其它语言实现该性能。

其它

1、rsync在执行过程中被kill掉会怎么样;

It is safe to kill an rsync process and run the whole thing again; it will continue where it left off. It may be a little inefficient, particularly if you haven’t passed –partial (included in -P), because rsync will check all files again and process the file it was interrupted on from scratch.**

rsync被kill掉是平安的,下次启动时还能够失常工作。

2、rsync不能指定时间段;

1)该站长博客问题能够通过kill来解决

2)或者应用pexpect的timeout参数来管制

3)能够先通过find查找过滤出文件夹的名字,而后应用rsync进行同步 这个能够依据现有业务的特色进行,比方:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值