使用rsync实现客户端与服务器端的文件同步与传送


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实现客户端与服务器端的文件同步与传送相关推荐

  1. Ubuntu中rsync配合inotify做服务器间文件同步

    rsync配合inotify做服务器间文件同步 由于需要添加下载服务器,现在每台服务器的流量比较大了,需要扩充,也就需要多服务器文件同步,本篇文章是在Ubuntu下操作的. 1:安装rsync apt ...

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

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

  3. 配置ntp客户端与服务器端时间的同步

    1,实验机器介绍 Ip地址 服务器1 192.168.245.128 服务器2 192.168.245.130 客户端1 192.168.245.129 实验前准备 在ntpS1 和ntpS2 中,配 ...

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

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

  5. 自定义协议实现客户端和服务器端的文件传输并用可视化实现

    使用easyx实现可视化界面 部分截图: 初始界面: 点击连接服务器后界面: 输入IP和端口号后: 选择上传操作后: 选择下载操作后: 协议设计: 下载文件过程:客户端发送:download:file ...

  6. 客户端加密服务器端解密文件,RSA(客户端加密/服务器解密)

    这是此question项目的延续,但没有Bouncy城​​堡. 所以我决定废弃Bouncy Castle(可惜,我喜欢这个名字) ANYWAY 我有一台服务器和一台客户端.客户端需要将序列化对象发送到 ...

  7. ftp客户端与服务器传文件在哪里,中国大学MOOC: FTP在客户端和服务器端传输文件时,使用的是...

    摘要: 仍不任工能胜作的,中国或者工作岗位培训经过调整,合同解除用人劳动单位随时可以,任工能胜者不作劳动.功率也适用于的计算,客户于电不仅流和叠加定律电压的计适用算.服务向正中电极流极源内由负部的不一 ...

  8. linux 文件夹同步备份软件下载,rsync从linux到linux的文件同步备份方法_rsync在linux下同步备份教程_飞翔教程...

    一.环境 须要备份文件的服务器(服务器端):192.168.1.201 (RHEL 5) 接收备份文件的服务器(客户端):192.168.1.202 (CENTOS 5) 二.安装配置 1.服务器端的 ...

  9. centos 多台 文件夹同步_CentOS7配置rsync实现文件同步

    rsync(remote synchronize )是一个远程文件同步工具,支持多个操作系统,用于在多台服务器之间同步目录和文件.rsync采用增量传输文件的方法,只传输新文件和修改过的文件,而不是每 ...

  10. Centos7 使用rsync 实现多服务器文件同步

    rsync(remote synchronize )是一个远程文件同步工具,支持多个操作系统,用于在多台服务器之间同步目录和文件.rsync采用增量传输文件的方法,只传输新文件和修改过的文件,而不是每 ...

最新文章

  1. 节点、支路、回路的概念
  2. Java基础——synchronized
  3. java integer == int_Java中int和Integer的区别详解
  4. Java 设计模式之 Observer 模式
  5. 独立站现在好不好做?个人适合做跨境电商独立站吗?
  6. 关于 IHTMLDocument4 在 Delphi7.0 中不能编译的的解决方法
  7. JNI java.lang.UnsatisfiedLinkError
  8. 华为荣耀手机指令代码大全_华为手机指令代码大全
  9. 寻路算法 --- A星寻路算法
  10. 【Android智能硬件开发】【004】通过PackageInstaller静默安装apk
  11. ubuntu20.04 NVIDIA显卡驱动安装教程(Y9000p)
  12. Android涂鸦画板原理详解——从初级到高级(一)
  13. 编写属于自己的Python第三方库
  14. CDN百科 | APP崩了和CDN有关系吗?
  15. 声纹识别损失函数总结
  16. PyScripter的下载
  17. clover UEFI+GUID最简单显核安装黑苹果教程(易懂)
  18. 情感识别相关数据集总结
  19. 2021-2025年中国工业锅炉行业市场供需与战略研究报告
  20. Ubuntu 安装 Gif 工具 -- Peek

热门文章

  1. 【BAT】win10 命令行工具cmd乱码解决方案及cmd非常用命令chcp介绍
  2. Python系列 之 ReportLab库 pdfgen模块Canvas对象绘制图形和文本
  3. WebService之CXF框架
  4. 约瑟夫环(Data structure and algorithm -C language)—— #YU
  5. 基于Java的酒店管理系统论文
  6. C#中MessageBox用法大全(附效果图)
  7. vb3计算机,2014年计算机二级考试VB试题 3
  8. 信号灯绿波服务器,主干道绿波与红波控制策略
  9. 偏微分方程数值求解 -- ING
  10. 什么叫运营---一个人,一张网,一艘船,独钓寒江雪!