rsync远程同步
rsync同步简介
是一款快速增量备份工具
支持本地复制,或者与其他ssh、rsync主机同步
rsync同步方式
cp 将源文件完整复制到指定的路径下 “全量备份”
rsync做本地复制:
首先将源文件和目标文件对比,找出差异部分
根据目的位置的文件和源文件差异的部分没进行一致性同步
备份源/同步源:备份操作的远程服务器
完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地
差量备份:备份上次完全备份之后有变化的数据
增量备份:备份上次备份以后有变化的数据
rsync备份的方式
发起端:rsync 同步操作的客户机,通知服务器要备份数据了
备份源:负责响应来自客户机rsync 同步操作的服务器叫做备份源,需要备份的服务器
rsync运行模式:
服务端:运行rsyncd服务,一般来说就是需要备份的服务器
客户端:存放备份数据
rsync监听端口:873
rsync命令
-r:递归模式,包含目录及子目录中的所有文件。
-l:对于符号链接文件仍然复制为符号链接文件。
-v:显示同步过程的详细( verbose)信息。
-z:在传输文件时进行压缩( compress) 。
-a:归档模式,保留文件的权限、属性等信息,等同于组合选项"-rlptgoD"。
-p:保留文件的权限标记。
-t:保留文件的时间标记。
-g:保留文件的属组标记(仅超级用户使用)。
-o:保留文件的属主标记(仅超级用户使用)。
-H:保留硬连接文件。
-A:保留ACL属性信息。
-D:保留设备文件及其他特殊文件。
–delete:删除目标位置有而原始位置没有的文件。
–checksum:根据校验和(而不是文件大小、修改时间)来决定是否跳过文件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h4dLjEKz-1690898662064)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230731104958324.png)]
rsync备份操作实例
准备两台虚拟机
192.168.116.13 服务端
192.168.116.11 客户端
1.关闭防火墙和安全机制
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
2.配置rsync源服务器(192.168.116.13)
查看rsync是否安装
[root@localhost ~]# rpm -q rsync
rsync-3.0.9-18.el7.x86_64
修改配置文件
[root@localhost ~]# vim /etc/rsyncd.conf
全删,添加
uid = root
gid = root
use chroot = yes
address = 192.168.116.13
port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 192.168.116.0/24
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
[wwwroot]
path = /var/www/html
comment = Document Root of www.kgc.com
read only = yes
auth users = sjz
secrets file = /etc/rsyncd_users.db
wq!保存退出
3.为备份账户创建数据文件并给权限
[root@localhost etc]# vim /etc/rsyncd_users.db
sjz:123456
wq! 保存退出
[root@localhost etc]# chmod 600 /etc/rsyncd_users.db
[root@localhost www]# chmod +r /var/www/html/
[root@localhost www]# ls -ld /var/www/html/
drwxr-xr-x 2 root root 6 5月 30 22:01 /var/www/html/
4.启动rsync服务并查看是否启动成功
[root@localhost www]# rsync --daemon
[root@localhost www]# netstat -anpt | grep rsync
tcp 0 0 192.168.116.13:873 0.0.0.0:* LISTEN 95239/rsync
rsync+inotify结合使用
实时同步
使用inotify通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作!响应。
将inotify机制与rsync工具相结合,可以实现触发式备份(实时同步),即只要原始位置的文档发变化,则立即启动增量备份操作;否则处于静默等待状态。这样,就避免了按固定周期备份时存在延迟性、周期过密等问题。
因为inotify 通知机制由Linux内核提供,因此主要做本机监控,在触发式备份中应用时更适合上行同步。