Rsync是Linux下非常不错的文件同步备份工具,安全性高、备份迅速、支持增量备,功能强大且高效。

服务端配置

Rsync服务的配置文件/etc/rsyncd.conf,示例配置(带用户名密码配置):

pid file = /var/log/rsyncd.pid
lock file = /var/log/rsyncd.lock
log file = /var/log/rsyncd.log
port = 873
#address = 10.0.xx.xx
uid = root
gid = root
use chroot = no
read only = no
# test是模块名,多个模块只需要参考test依次添加即可
[test]
path= /root/data/
# 认证的用户名,这里用的rsync,在下面的密码文件中有定义
auth users = rsync
# 密码文件(下面定义)
secrets file = /etc/rsyncd.secrets
hosts allow= *

密码文件(/etc/rsyncd.secrets)格式:

rsync:rsync_pass

以上用户名密码之间使用冒号分隔。

注意:密码文件必须要设置权限为600,使用chmod 600 /etc/rsyncd.secrets设置即可,不然同步时会提示:

@ERROR: auth failed on module XXX

以上配置OK后,使用rsync --daemon启动服务即可,如果配置需要调整,直接修改对应的配置文件即可,修改完立马生效,无需重启rsync服务。

客户端配置

上述服务端配置中test模块设置了使用用户名密码的方式访问,因此在客户端使用rsync同步时需要添加用户名密码相关的参数。

一个同步示例:

# /etc/rsync.pas文件需要手动创建哦
rsync -avz --password-file=/etc/rsync.pas rsync@10.1.xx.xxx::test/ /home/test/

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性

-v,详细显示同步信息

-z,传输过程中加密

--password-file表示保存密码的文件,rsync同步时从此文件中获取密码信息,此文件同样需要设置访问权限为600。

注意:--password-file文件中的内容只保存密码即可,不需要保存用户名,否则会出现认证失败的错误,示例:

rsync_pass

远程目录的表示方式为:用户@Rsync服务器的IP::模块名/路径

最后一个参数是同步到的本地路径。

其他的参数,直接执行rsync就可以看到说明,这里不再一一说明。

其他

如果只要查看rsync服务器上的文件,可以使用以下命令(前提是所查看的模块在服务端配置了允许参看才可以):

rsync --list-only --password-file=/etc/rsync.pas rsync@10.1.xx.xxx::test/

如果需要定时同步日志,只需要把上述同步的命令,添加到shell脚本中,通过配置crontab定期执行脚本就可以了。

对于大量文件的实时备份,可以考虑Rsync+inotify的机制,这里就不做介绍了,可以移步到这里

Windows下的Rsync

Windows下需要安装cwRsync(客户端,请自行下载,服务端是cwRsyncServer),cwRsync其实是采用cygwin移植的Linux下的rsync命令,因此在同步某个盘符的时候需要注意路径的写法,下面是一个示例:

如果需要处理C:\WORK*下的文件,那么需要写成/cygdrive/c/work/*

rsync -r /cygdrive/c/work/ remotehost:/home/user/work/

注意

安装完Rsync后,将安装目录下的bin目录添加到PATH环境变量中,就可以使用rsync命令了。安装Rsync是不需要单独安装cygwin的,当然,如果打算通过脚本来同步,安装一下cygwin还是有必要的,毕竟linux下的shell脚本比windows下的批处理要强大的多。

使用Rsync进行文件的同步与备份的更多相关文章

  1. rsync+inotify-tools文件实时同步

    rsync+inotify-tools文件实时同步案例 全量备份 Linux下Rsync+sersync实现数据实时同步完成. 增量备份 纯粹的使用rsync做单向同步时,rsync的守护进程是运行在 ...

  2. wordpress使用rsync加openvpn进行同步和备份

    目录 wordpress使用rsync加openvpn进行同步和备份 环境 普通同步策略的弊端 改良的同步方案 从头细说起 备份数据 打包wordpress项目和备份 服务端安装rsync 服务端配置 ...

  3. Rsync+sersync文件实时同步

    一.为什么要用Rsync+sersync架构1.sersync是基于Inotify开发的,类似于Inotify-tools的工具2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改 ...

  4. Rsync实现文件的同步

    故事背景:我们公司是做新零售的,需要对发布的每台机器进行文件的同步更新,所以我这里做了一个小小的调研 技术调研:linux之间同步文件有两种方式rsync与scp. sync和scp在文件夹均不存在时 ...

  5. DropBox 超实用的免费文件网络同步、备份、分享工具

    http://www.iplaysoft.com/dropbox.html DropBox 就是一款非常好用的免费网络文件同步工具(当然它也算是一个服务).当你在电脑A使用DropBox时,指定文件夹 ...

  6. rsync服务架设(数据同步|文件增量备份)

        近期由于业务需要,需要将两台服务器数据保持同步.方案有很多,rsync是其中一种解决方案,本文对rsync的安装及配置进行简单说明,其他实现方式有兴趣可以研究.以下是本文提纲,供参考: rsy ...

  7. rsync 文件同步和备份

    rsync 是同步文件的利器,一般用于多个机器之间的文件同步与备份,同时也支持在本地的不同目录之间互相同步文件.在这种场景下,rsync 远比 cp 命令和 ftp 命令更加合适,它只会同步需要更新的 ...

  8. Linux下简单粗暴使用rsync实现文件同步备份【转】

    这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...

  9. Linux Rsync实现文件同步备份(转载)

    原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...

随机推荐

  1. 玩坏JVM很简单--toString的递归调用

    在JVM的内存管理机制下很少发生内存溢出的情况.至少我碰见的少,好像在SSH我多次发布项目时候出现过一次.今天看见一个特简单的方法让内存溢出(好吧,我似乎作死了--!): public class I ...

  2. javascript:算法之数组去重

    一 /*******************************111111111***********************************/ /*1,最好数组去重方法,利用json的 ...

  3. 我自己的Javascript 库,封装了一些常用函数 Kingwell.js

    我自己的Javascript 库,封装了一些常用函数 Kingwell.js 博客分类: Javascript javascript 库javascript库  现在Javascript库海量,流行的 ...

  4. ArGIS Server 服务的更新

    对于普通地图服务更新 [产品版本]:arcgis for server 10.1,10.1 sp1,10.2及以上 [问题分析]: 由于在10.1中地图服务的发布采用的是msd的形式,也就是虽然在Ar ...

  5. butterknife异常提示:attribute value must be constant

    就是因为你的android工程是lib类型的 如: apply plugin: 'com.android.library' android { compileSdkVersion 23 buildTo ...

  6. momentjs 求小时差异

    momentjs  使用 var now1 = moment( moment().unix()*1000); //获取unix时间戳 需要*1000 var befor_time = moment(1 ...

  7. Python开发【第三章】:Python编码转换

    一.字符编码与转码 1.bytes和str 之前有学过关于bytes和str之间的转换,详细资料->bytes和str(第四字符串) 2.为什么要进行编码和转码 由于每个国家电脑的字符编码格式不 ...

  8. k8s入门系列之扩展组件(一)DNS安装篇

    DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统 ...

  9. POJ - 2339 Rock, Scissors, Paper

    初看题目时就发了个错误,我因为没有耐心看题而不了解题目本身的意思,找不到做题的突破口,即使看了一些题解,还是没有想到方法. 后来在去问安叔,安叔一语道破天机,问我有没有搞清题目的意思,我才恍然大悟,做 ...

  10. ASP.NET下载远程图片保存到本地的方法、保存抓取远程图片

    以下介绍两种方法:1.利用WebRequest,WebResponse 类 WebRequest wreq=WebRequest.Create("http://www.xueit.com/e ...