一 rsync概述
Remote Sync远程同步
–支持本地复制,或与其他SSH/rsync主机同步
–官网:http://rsync.samba.org/
二 命令的用法
rsync [选项] 源目录 目标目录
同步与复制的差异
(复制)完全拷贝源到目标
(同步)增量拷贝,只传输变化过的数据
三 rsync同步操作
–rsync [选项] 本地目录1 本地目录2 #同步整个文件夹
–rsync [选项] 本地目录1/ 本地目录2 #只同步目录下的数据
rsync操作常用选项
-n:测试同步过程,不做实际修改
--delete:删除目标文件夹内多余的文档
-a:归档模式,相当于-rlptgoD
-rlptgoD[-r:包含目录/子目录及所有文件]
[-l:保留符号链接文件]
[-p -t:保留文件的权限/时间标记]
[-o -g:保留文件的属主/属组标记]
[-D:保留设备文件及其他特殊文件]
扩展选项:-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
--delete 删除DEST中SRC没有的文件
--exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩
四 rsync+SSH同步
1.列出SSH服务端资源
#rsync user@host:远程目录/
2.与远程的SSH目录保持同步
(1)上行:rsync [选项] user@host:远程目录 本地目录
(2)下行:rsync [选项] 本地目录 user@host:远程目录
3.服务端要求
开启sshd服务,并提供授权的用户和密码
example:下行同步,将远程主机/mnt/目录备份到本地
(1)查看远程主机13/mnt/下的内容
[root@rsync01 ~]# rsync [email protected]:/mnt/
drwxr-xr-x 36 2019/06/14 10:57:20 .
-rw-r--r-- 0 2019/06/14 10:57:15 zhang.txt
drwxr-xr-x 6 2019/06/14 10:57:20 rsync
(2)将远程主机的/mnt/同步到本机的/mnt/下
[root@rsync01 mnt]# rsync -azP [email protected]:/mnt/ /mnt/
receiving incremental file list
./
zhang.txt
0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=1/3)
rsync/
(3)确认同步结果
[root@rsync01 mnt]# ll
总用量 0
drwx------ 5 root root 97 1月 26 13:23 grub2
drwxr-xr-x 2 root root 6 6月 14 10:57 rsync
drwx------ 3 root root 17 6月 14 10:26 systemd-private-6fb11f3eca6743f59493ef651a95e67f-chronyd.service-ye6ea0
drwx------ 3 root root 17 6月 11 08:05 systemd-private-acc9c37846fe439e96ed2b1fa01a8a21-chronyd.service-J6KHMq
-rw-r--r-- 1 root root 0 6月 14 10:57 zhang.txt
#########################
example:上行同步
(1)确认本地目录大小
[root@rsync01 ~]# du -sh /etc/
30M /etc/
(2)将本地/etc上传到远程主机的/opt下
[root@rsync01 ~]# rsync -avP /etc [email protected]:/opt/
(3)远程主机上确认
[root@rsync02 ~]# du -sh /opt/etc/
30M /opt/etc/
##########确认同步结果
[root@rsync01 ~]# ls /etc | md5sum
5d58386b47dda43f93ac32e553c4c0fe -
[root@rsync02 ~]# ls /opt/etc/ | md5sum
5d58386b47dda43f93ac32e553c4c0fe -
#############################
总结
rsync优点:与传统的tar/cp相比,具有安全性高/备份迅速/支持增量备份等优点,用rsync解决对实时性要求不高的数据备份要求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等
rsync缺点:(1)rsync同步数据时,需要扫描所有文件后进行对比,进行差量传输.如果文件非常大,执行rsync效率会低下
(2)不能实时的去监测/同步数据.
虽然它可以通过linux守护进程的方式进行触发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据可能出现不一致,无法在应用故障时完全的恢复数据。基于以上原因,rsync+inotify组合出现了!
(详见RSYNC+INOTIFY基础(二))
扫描二维码关注公众号,回复:
6502158 查看本文章