rsync远程同步

本文详细介绍了rsync工具的配置参数,包括如何进行远程同步、免交互配置和实时同步。通过inotify机制与rsync结合,实现文件系统变化的实时响应和触发式备份。此外,还对比了rsync与rm在批量删除大量文件时的效率差异,并提供了实际操作示例。
摘要由CSDN通过智能技术生成

一、简介

一款快速增量备份工具Remote Sync,远程同步
支持本地复制,或者与其他SSH、rsync
主机同步
它名称里面的r指的是 remote,rsync 其实就是"远程同步"(remote sync)的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,如果没有相当于新建则是全量备份,如果目标方已有一些文件,则用增量备份方式仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。

二、配置参数

1、参数

-a、–archive参数表示存档模式,保存所有的元数据,比如修改时间(modification time)、权限、所有者等,并且软链接也会同步过去。
–append参数指定文件接着上次中断的地方,继续传输。
–append-verify参数跟–append参数类似,但会对传输完成后的文件进行一次校验。如果校验失败,将重新发送整个文件。
-b、–backup参数指定在删除或更新目标目录已经存在的文件时,将该文件更名后进行备份,默认行为是删除。更名规则是添加由–suffix参数指定的文件后缀名,默认是~。
–backup-dir参数指定文件备份时存放的目录,比如–backup-dir=/path/to/backups。
–bwlimit参数指定带宽限制,默认单位是 KB/s,比如–bwlimit=100。
-c、–checksum参数改变rsync的校验方式。默认情况下,rsync 只检查文件的大小和最后修改日期是否发生变化,如果发生变化,就重新传输;使用这个参数以后,则通过判断文件内容的校验和,决定是否重新传输。
–delete参数删除只存在于目标目录、不存在于源目标的文件,即保证目标目录是源目标的镜像。
-e参数指定使用 SSH 协议传输数据。
–exclude参数指定排除不进行同步的文件,比如–exclude=“*.iso”。
–exclude-from参数指定一个本地文件,里面是需要排除的文件模式,每个模式一行。
–existing、–ignore-non-existing参数表示不同步目标目录中不存在的文件和目录。
-h参数表示以人类可读的格式输出。
-h、–help参数返回帮助信息。
-i参数表示输出源目录与目标目录之间文件差异的详细情况。
–ignore-existing参数表示只要该文件在目标目录中已经存在,就跳过去,不再同步这些文件。
–include参数指定同步时要包括的文件,一般与–exclude结合使用。
–link-dest参数指定增量备份的基准目录。
-m参数指定不同步空目录。
–max-size参数设置传输的最大文件的大小限制,比如不超过200KB(–max-size=‘200k’)。
–min-size参数设置传输的最小文件的大小限制,比如不小于10KB(–min-size=10k)。
-n参数或–dry-run参数模拟将要执行的操作,而并不真的执行。配合-v参数使用,可以看到哪些内容会被同步过去。
-P参数是–progress和–partial这两个参数的结合。
–partial参数允许恢复中断的传输。不使用该参数时,rsync会删除传输到一半被打断的文件;使用该参数后,传输到一半的文件也会同步到目标目录,下次同步时再恢复中断的传输。一般需要与–append或–append-verify配合使用。
–partial-dir参数指定将传输到一半的文件保存到一个临时目录,比如–partial-dir=.rsync-partial。一般需要与–append或–append-verify配合使用。
–progress参数表示显示进展。
-r参数表示递归,即包含子目录。
–remove-source-files参数表示传输成功后,删除发送方的文件。
–size-only参数表示只同步大小有变化的文件,不考虑文件修改时间的差异。
–suffix参数指定文件名备份时,对文件名添加的后缀,默认是~。
-u、–update参数表示同步时跳过目标目录中修改时间更新的文件,即不同步这些有更新的时间戳的文件。
-v参数表示输出细节。
-vv表示输出更详细的信息,
-vvv表示输出最详细的信息。
–version参数返回 rsync 的版本。
-z参数指定同步时压缩数据。

2、配置源的两种表示方法

格式一:
用户名@主机地址::共享模块名

rsync -avz 用户名@源地址::共享模块名称 /目标位置

格式二:
rsync://用户名@主机地址/共享模块名

rsync -avz rsync://用户名@源地址/共享模块 /目标位置

三、远程同步

服务器192.168.133.50
客户机192.168.133.75
systemctl stop firewalld
setenforce 0

[root@master ~]# rpm -q rsync                                    系统是自带的
rsync-3.0.9-18.el7.x86_64
[root@master ~]# vim /etc/rsyncd.conf                            编辑此文件后面添加以下内容
 22  uid = root
 23  gid = root
 24  use chroot = yes                                              禁锢在源目录
 25  pid file = /var/run/rsyncd.pid                                 进程文件目录
 26  log file = /var/log/rsyncd.log                                 日志文件目录
 27  dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2    因为本身具有压缩共呢个所以取消其他压缩功能,
 28  address = 192.168.133.50                                      设定监听地址
 29  port = 873                                                    监听端口号 tcp/udp 873
 30  hosts allow 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值