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. python - socket - server

    网络上关于socket的介绍文章数不胜数.自己记录下学习的点点滴滴.以供将来复习学习使用. socket中文的翻译是套接字,总感觉词不达意.简单的理解就是ip+port形成的一个管理单元.也是程序中应 ...

  2. Flink - Checkpoint

    Flink在流上最大的特点,就是引入全局snapshot,   CheckpointCoordinator 做snapshot的核心组件为, CheckpointCoordinator /** * T ...

  3. [daily]使用rdtsc指令,测量程序的运行速度 [转]

    原文地址:http://blog.chinaunix.net/uid-24774106-id-2779245.html 最近搞架构,一直在讨论.听人提到,自行科普了一下,先转发,mark.有机会深入学 ...

  4. jq 获取除节假日与周六日 外的日期 和 星期

    //设置节假日的数组         var holiday = Array('2016-04-30','2016-05-01','2016-05-02','2016-06-09','2016-06- ...

  5. Markdown资源 markd

    markdown是将某些格式的文本,翻译成HTML的一个库,非常精妙! https://www.npmjs.com/package/markedhttps://github.com/adam-p/ma ...

  6. ListView简单使用

    先上效果: 主要实现了Listview的绑定和点击事件.项目资源结构如下: 先创建一个动物类,用来装载数据: Animal类如下: package com.example.simplelistview ...

  7. CCEA OCX

    <HTML> <HEAD> <TITLE>CCEAActiveX演示页面</TITLE> <meta http-equiv="Conte ...

  8. 画廊插件baguetteBox

    HTML <link rel="stylesheet" href="css/baguetteBox.css"> <div class='bag ...

  9. ionic实现手机检测app是否安装,未安装则下载安装包,已安装则打开app(未实现iOS平台)

    插件需求(上cordova官网下载): com.lampa.startapp cordova-plugin-appavailability cordova-plugin-inappbrowser 代码 ...

  10. Java中的集合框架

    概念与作用 集合概念 现实生活中:很多事物凑在一起 数学中的集合:具有共同属性的事物的总体 java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象 在编程时,常常需要集中存放多 ...