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. 获取 Cookie

    /// <summary>    /// 获取WPF url 地址中的Cookies    /// </summary>    public partial class Coo ...

  2. Java初始化生命周期

    package com.init; abstract class Glyph { void draw() { System.out.println("Glyph.draw()"); ...

  3. Fiddler-010-网络延时应用小技巧-模拟低网速环境

    在日常的网络测试中,经常需要测试网络超时或在网络传输速率不佳的情况的应用场景,而与此同时我们有时手边资源有限,实现在各种真实网络(2G\3G)环境下测试有些局限性.其实 fiddler 已经提供了类似 ...

  4. Advanced REST client

    好用的测试工具,老是忘记名字chrome插件 Advanced REST client

  5. C# ASP.NET MVC HtmlHelper用法大全

    UrlHrlper 下面的两个地址一样的功能 下边这个防止路由规则改变 比如UserInfo/Index改为UserInfo-Index,使用下面的不受影响 另一种形式的超链接: <%: Htm ...

  6. Eclipse设置自动换行

    Eclipse 使用系统内置的“ Text Editor ”做为文本编辑器,这个文本编辑器有一个问题,就是文本无法换行.这个问题在显示上给人们带来不少麻烦. 终于有人忍不住开发了一个扩展插件 Word ...

  7. 视觉中的深度学习方法CVPR 2012 Tutorial Deep Learning Methods for Vision

    Deep Learning Methods for Vision CVPR 2012 Tutorial  9:00am-5:30pm, Sunday June 17th, Ballroom D (Fu ...

  8. stl 比较和boost LessThanComparable

    C++ STL的几种常用“比较”概念简述   在C++的现行标准(C++ 98)中,由于没有类似“接口”这样的东西,我们在泛型编程时往往只能对模板类型作一些假设,要求其符合某个需求清单,也就是属于某个 ...

  9. Leetcode: Battleships in a Board

    Given an 2D board, count how many different battleships are in it. The battleships are represented w ...

  10. 【Selenium】3.介绍Selenium IDE

    本文供学习交流之用,没有商业用途,没有盈利. 完全是我自己为督促自己学习而翻译的.翻译的不好,见谅.来源于:http://www.guru99.com/introduction-selenuim-id ...