Rsync实现文件的同步

故事背景:我们公司是做新零售的,需要对发布的每台机器进行文件的同步更新,所以我这里做了一个小小的调研

技术调研:linux之间同步文件有两种方式rsync与scp。

sync和scp在文件夹均不存在时,执行时间相差不大,但是文件夹存在的情况下差异很大。原因是scp是复制:若mas2文件不存在则新建,若存在则覆盖,若mas2上有而Dashboard主机没有,则不改变。可以理解为scp为“复制”。而rsync则在文件在存在于两主机时,比较两文件是够相同,相同的话,就什么都不做,若存在差异就直接更新。

简单的说rsync只对差异文件做更新。

#### Rsync介绍
rsync是一款开源的备份工具,可以再不同主机之间进行同步,实现全量和增量备份,适用于集中备份或异地备份等应用场景。
rsync监听端口:873
rsync运行模式:C/S
#### Rsync传输模式
- 本地模式
本地传输,主机内部进行数据传输(类似于cp命令)
- 远程模式
远程通道传输,通过ssh通道传输数据(类似scp命令)
- 守护进程模式
守护进程传输,不使用系统用户进行传输(安全性高)

#### Rsync命令参数
-a 复制各种类型的文件(相当于-tropgDl)
-v 显示传输过程
-z 传输时进行压缩
-r 递归传输目录和子目录
-t 保持文件时间不变
-o 保持文件属主信息
-g 保持文件属组信息
-p 保持文件权限
-l 保持软连接
-P 显示同步进度及过程
-D 保持设备文件信息
--bwlimit=100 限速传输
--delete 源和目标数据保持一致
--partial 断点续传

#### 安装rsync
`sudo apt-get install`一般机器好像都有
#### 服务端
1. 创建rsyncd.conf配置文件,sudo vim /etc/rsyncd.conf
`uid = ai #运行进程用户
gid = ai #运行用户组
port = 873 #监听端口
fake super = yes #无需rsync以root身份运行,允许接受数据
use chroot = no #禁锢推送数据至某个目录
max connections = 0 #最大连接数
timeout = 600 #超时时间
log file = /var/log/rsyncd.log #定义日志文件路径
#####################################
[backup] #模块名称
path = /backup #定义接收备份数据目录
ignore errors #忽略错误信息
read only = false #对备份数据可读写
list = false #不允许查看模块信息
auth users = test #定义虚拟用户,认证使用
secrets file = /etc/rsync.passwd #认证密码路径`

2. 创建rsync.passwd
`echo "test:123456" > /etc/rsync.passwd
chmod 600 /etc/rsync.passwd 不然传输会报错`
3. 启动rsync
`rsync --daemon`

#### 客户端
1. 创建rsync.passwd
`echo "123456" > /etc/rsync.password
chmod 600 /etc/rsync.password 不然传输会报错`

#### 实例(拉取)
`rsync -avz test@192.168.174.128::backup --password-file=/etc/rsyncd.password /tmp/backup/`

#### 定时拉取
把拉取指令配置在客户端crontab即可

(0)

相关推荐

  • rsync和scp上传文件的区别

    rsync 命令 rsync 是remote sync的缩写,用于linux系统下的数据镜像备份工具,远程服务器之间的文件拷贝. rsync文件上传 rsync上传 $ rsync -av –excl ...

  • CENTOS6.8 安装配置rsync

    yum 安装两个包 yum install rsync xinetd 打开rsync服务,重启xinetd服务,关闭SeLinux chkconfig rsync on service xinetd ...

  • 不会win10文件夹同步?教你两种方法

    本文介绍了两种win10文件夹同步的方法,分别是系统自带的功能和傲梅轻松备份软件中的文件同步功能.各有各的优势,那么接下来我们就一起看看分别如何操作. 学会win10文件夹同步,工作效率更高数据更安全 ...

  • 腾讯微云网盘如何同步文件夹?同步文件夹方法

    腾讯微云网盘如何同步文件夹?微云是腾讯全新推出的网盘服务,通过微云客户端可以让pc和手机文件进行无限传输并实现同步,让手机中的照片自动传送到pc,并可向朋友们共享.但是好多新手不知道微云网盘是如何同步 ...

  • Beyond Compare文件夹同步详解

    Beyond Compare是智能的比较工具:它只需使用简单而强大的命令和操作,即可开启优质的对比体验,找出你感兴趣的差异,合并变化,然后同步文件,并生成报告.接下来就详细介绍一下,Beyond Co ...

  • 编程语言两台服务器文件实时同步如何在linux下实现的方案

    假设有如下需求: 假设两个服务器: 192.168.0.1 源服务器 有目录 /opt/test/ 192.168.0.2 目标服务器 有目录 /opt/bak/test/ 实现的目的就是保持这两个服 ...

  • rsync文件同步工具常见模式有哪些?Linux命令

    互联网时代发展迅速,Linux运维技术的需求更多推进不少.市场对于Linux运维人才的需求也在逐渐加大.Linux行业崛起,在云计算大环境下,市场上对高级运维人员的需求将越来越大.文件同步工具rsyn ...

  • rsync 同步指定文件类型的文件

    需求:本地 go 项目上传到测试服务器测试一段时间之后,本地项目又做了一部分修改,再次同步代码文件时,为了不破环已经配置好的配置文件等其他配置数据, 只是想把代码 go 代码重新同步, 而每次同步一个 ...

  • 如何利用Syncthing+蒲公英快速实现异地文件同步

    其实并不是第一次介绍私有云的搭建方法,不过和之前利用PC或NAS共享文件的方式有所不同,这次换用文件同步软件来实现多台电脑.移动设备之间的共享. 目前文件同步软件有很多,ownCloud.Pydio. ...

  • 手机电脑互传文件太麻烦?WPS自动同步一招帮你解决

    在日常生活和工作中,您如果幸运的没有遇到过这些情况,也一定听朋友抱怨过: 1.微信中好友分享的重要文件因为过期被清理,找不回来了.... 2.下班还要工作,回家前得先把文件发到手机,回去再从手机发回到 ...