1、什么是rsync?
-rsync是类unix系统下的数据镜像备份工具——remote sync。一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH、rsync主机同步。

-第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。

-安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。

-支持匿名传输,以方便进行网站镜象。

2、本人操作的时候使用的具体的环境是:客户端:Mac+服务器端:Ubuntu
iOS系统和Ubuntu是默认已经安装好rsync环境的,客户端可以直接打开 终端,使用rsync的相关命令就能进行操作;Ubuntu在使用rsync的时候需要先通过一系列的设置来打开rsync的服务。

其他环境下关于rsync的安装和配置可参考以下链接:

https://rsync.samba.org

https://rsync.samba.org/ftp/rsync/rsyncd.conf.html

https://rsync.samba.org/ftp/rsync/

3、关于服务器端Ubuntu下的rsync的相关配置
主要是创建配置文件 rsyncd.conf列表内容
1、 修改/etc/default/rsync,让rsync服务在开机的时候启动:
$ sudo vim /etc/default/rsync

将RSYNC_ENABLE=false改为RSYNC_ENABLE=true

2、创建并修改rsyncd.conf,缺省安装中是没有这个文件的
先创建并编辑配置文件:

$ sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc

$ sudo vim /etc/rsyncd.conf

3、去掉
log file=/var/log/rsyncd
pid file=/var/run/rsyncd.pid
syslog facility=daemon

前面的注释符号#

4、修改rsync需要同步的路径:
path = /var/www/pub
(修改成客户端需要同步到的服务器端的的路径即可)

5、修改rsync使其可读可写:
read only = false

6、修改rsync用户:

auth users = rsync_user
secrets file = /etc/rsyncd.secrets

7、创建rsync用户密码文件:

sudo touch /etc/rsyncd.secrets

使其内容如下(例子):

rsync_user:rsync_password

8、修改用户密码文件权限:

$ sudo chmod 0600 /etc/rsyncd.secrets

9、启动rsync

$ sudo /etc/init.d/rsync start

4、将客户端相关文件夹中的内容同步到服务器端设置路径下的相关命令的使用
$ rsync -avz local_filename server_username@server_ip:server_filename

5、rsync的相关命参数
-v,--verbose //详细模式输出;

-a,--archive //归档模式,表示以递归的方式传输文件,并保持所有文件属性不变,相当于使用了组合参数-rlptgoD;

-r, --recursive //对子目录以递归模式处理;

-l, --links//保留软链结;

-p, --perms //保持文件权限;

-t, --times//保持文件时间信息;

-g, --group //保持文件属组信息;

-o, --owner //保持文件属主信息;

-D, --devices //保持设备文件信息;

-H, --hard-links //保留硬链结;

-S, --sparse //对稀疏文件进行特殊处理以节省DST的空间;

--delete //删除那些DST中SRC没有的文件;

-z, --compress //对备份的文件在传输时进行压缩处理;

6、rsync六种不同的工作模式:
1.拷贝本地文件,将/home/coremail目录下的文件拷贝到/cmbak目录下

$ rsync -avSH /home/coremail/ /cmbak/

2.拷贝本地机器的内容到远程机器

$ rsync -av /home/coremail/ 192.168.11.12:/home/coremail/

3.拷贝远程机器的内容到本地机器

$ rsync -av 192.168.11.11:/home/coremail/ /home/coremail/

4.拷贝远程rsync服务器(daemon形式运行rsync)的文件到本地机

$ rsync -av root@172.16.78.192::www /databack

5.拷贝本地机器文件到远程rsync服务器(daemon形式运行rsync)中。当DST路径信息包含”::”分隔符时启动该模式

$ rsync -av /databack root@172.16.78.192::www

6.显示远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可

$ rsync -v rsync://192.168.11.11/data

7、rsync配置文件说明:
cat/etc/rsyncd.conf //内容如下

port = 873 //端口号

uid = nobody //指定当模块传输文件的守护进程UID

gid = nobody //指定当模块传输文件的守护进程GID

use chroot = no //使用chroot到文件系统中的目录中

max connections = 10 //最大并发连接数

strict modes = yes //指定是否检查口令文件的权限

pid file = /usr/local/rsyncd/rsyncd.pid //指定PID文件

lock file = /usr/local/rsyncd/rsyncd.lock //指定支持max connection的锁文件,默认为/var/run/rsyncd.lock

motd file = /usr/local/rsyncd/rsyncd.motd //定义服务器信息的,自己写 rsyncd.motd 文件内容

log file = /usr/local/rsyncd/rsync.log //rsync 服务器的日志

log format = %t %a %m %f %bsyslog facility = local3timeout = 300
[conf] //自定义模块

path = /usr/local/nginx/conf //用来指定要备份的目录

comment = Nginx confignore errors//可以忽略一些IO错误

read only = no //设置no,客户端可以上传文件,yes是只读

write only = no //no为客户端可以下载,yes 不能下载

hosts allow = 192.168.2.0/24 //可以连接的IP

hosts deny = * //禁止连接的IP

list = false //客户请求时,使用模块列表

uid = root

gid = root

auth users = backup //连接用户名,和linux系统用户名无关系

secrets file = /etc/rsyncd.pass //验证密码文件

RSync实现文件备份同步详解   http://www.linuxidc.com/Linux/2014-09/106967.htm

利用inotifywait监控主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm

利用inotify+rsync实现Linux文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm

inotify-tools+rsync实时同步文件安装和配置 http://www.linuxidc.com/Linux/2012-06/63624.htm

rsync同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm

CentOS 6.5下Rsync远程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm

Linux文件夹对比并提取的差分文件技巧-rsync的妙用 http://www.linuxidc.com/Linux/2016-02/128307.htm

Rsync 的详细介绍请点这里
Rsync 的下载地址请点这里

使用rsync实现客户端与服务器端的文件同步与传送,重点是原理和参数解释的更多相关文章

  1. rsync+sersync+inotify实现服务器间文件同步之一

    rsync+sersync+inotify实现服务器间文件同步之一:rsync安装配置 2013年12月14日 ⁄ Linux管理, 服务器集群技术 ⁄ 共 4925字 ⁄ rsync+sersync ...

  2. rsync从linux到linux的文件同步备份

    rsync从linux到linux的文件同步备份 一.环境 需要备份文件的服务器(服务器端):192.168.1.201 (RHEL 5) 接收备份文件的服务器(客户端):192.168.1.202 ...

  3. 在vs code中使用ftp-sync插件实现客户端与服务器端代码的同步

    在vs code中使用ftp-sync插件实现客户端与服务器端代码的同步 下载安装 vscode-ftp-sync 插件. 安装方法1. Ctrl+Shift+P 输入 ext install [插件 ...

  4. Rsync:一个很实用的文件同步命令

    sync是Linux系统下的文件同步和数据传输工具,可用于同步文件.代码发布 1.安装. yum install -y xinetd yum insatll -y rsync 2.配置 打开rsync ...

  5. Rsync 3.1.0 发布,文件同步工具

    文件同步工具Rsync 3.1.0发布.2013-09-29 上一个版本还是2011-09-23的3.0.9 过了2年多.Rsync基本是Linux上文件同步的标准了,也可以和inotify配合做实时 ...

  6. 利用cwRsync客户端将Windows下文件同步到Linux

    这里不描述Linux服务端安装配置rsync服务的过程,有需要可以在网络上查找相关教程. 1.安装cwRsync客户端下载地址:http://itefix.no/cwrsync/下载文件cwRsync ...

  7. centos7安装rsync及两台机器进行文件同步

    安装及配置 yum -y install rsync #启动rsync服务 systemctl start rsyncd.service systemctl enable rsyncd.service ...

  8. CentOS7通过rsync+crontab实现两台服务器文件同步

    centos7系统中已经默认安装rsync 1:主服务器配置 (1)修改rsyncd.conf 配置文件 [root@localhost app]# vi /etc/rsyncd.conf motd ...

  9. rsync+inotify 实现服务器之间目录文件实时同步(转)

    软件简介: 1.rsync 与传统的 cp. tar 备份方式相比,rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可 以解决对实时性要求不高的数据备份需求,例如定期的备份文 ...

随机推荐

  1. C#并行编程(5):需要知道的异步

    异步与并行的联系 大家知道"并行"是利用CPU的多个核心或者多个CPU同时执行不同的任务,我们不关心这些任务之间的依赖关系. 但是在我们实际的业务中,很多任务之间是相互影响的,比如 ...

  2. Swift map filter reduce 使用指南

    转载:https://useyourloaf.com/blog/swift-guide-to-map-filter-reduce/ Using map, filter or reduce to ope ...

  3. android的AsyncTask.get()方法会阻塞UI线程

    AsyncTask.get()方法, 是有阻塞UI的能力的.

  4. gdb 调试及优化

    调试程序时,在gdb内p var,会提示 No symbol "var" in current context. 即使没有使用任何编译优化选项,仍然不能查看,可能是这些变量被优化到 ...

  5. UVALive 6893 The Big Painting hash

    The Big Painting 题目连接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=122283#problem/J Descri ...

  6. spring data jpa在使用PostgreSQL表名大小写的问题解决

    国内的文章看了一遍,其实没找到根本问题解决方法,下面将列举这一系列的问题解决方法: 1.在配置文件增加如下配置: spring.jpa.hibernate.naming.physical-strate ...

  7. spring-boot 速成(6) 整合disconf

    spring-boot虽然不推荐使用xml文件做为配置文件,但是并没有把路堵死,所以与disconf的整合,仍旧可以沿用之前的xml方式来处理. 一.在Application类上用注解导入xml pa ...

  8. 用Visio画泳道图

    在一次会议中看到有个同事在讲解业务流程时画了一个与PD中很类似的泳道图,但是在图的左侧确有一个阶段的列,事后与他沟通,才知道他这个图是”拼”出来的,也就是说所有的图都是他一点点的在画图工具中做出来的. ...

  9. Android音频播放之SoundPool 详解

    SoundPool —— 适合短促且对反应速度比较高的情况(游戏音效或按键声等) 下面介绍SoundPool的创建过程: 1. 创建一个SoundPool (构造函数) public SoundPoo ...

  10. HDU 3976 Electric resistance (高斯消元法)

    Electric resistance Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...