学会rsync远程同步和inotify实时同步一篇就够了!!!

本文详细介绍了如何使用rsync进行远程同步,包括rsync服务的模式、原理和配置步骤。同时,结合inotify机制,讨论了实时同步的优势,并提供了配置rsync源服务器和客户机的详细过程,确保数据变化时能即时备份。
摘要由CSDN通过智能技术生成

一:rsync介绍

Remote Sync,远程同步,它是一个开源的快速增量备份工具,可以在不同主机之间镜像同步整个目录树。
支持增量备份、保持连接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用
支持本地复制,或者与其他SSH、rsync主机同步
rsync 与scp FTP等工具备份的机制的优越性在于rsync 同步备份是先比较在拷贝变化过的数据,这样更节省资源,如有1T的数据只有1K的数据改变,则rsync 基本上备份只要同步1k 的数据而 scp 是个傻瓜式的拷贝,全部拷贝。

1.1:rsync 服务的模式

1、ssh方式进行同步

2、C/S 方式,rsync 有服务器端daemon模块 和rsync 客户端

1.2:rsync服务原理

在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责相应来自客户机的rsync同步操作的服务器称为同步源。
在同步过程中,同步源负责提供文档的原始位置,发起端应对该位置有读取权限。
如下图:
在这里插入图片描述
rsync是一款快速增量备份工具,支持:

  • 本地复制;
  • 与其他SSH同步;
  • 与rsync主机同步。

稍后从这三个方面来演示怎么使用rsync备份工具。

1.3:配置rsync源思路

配置rsync源服务器大致分为三步:

  • 建立rsync配置文件;
  • 为备份账户创建数据文件;
  • 启动rsync服务。

二、搭建rsync服务

准备两台虚拟机,一台作为同步源,一台用于客户机发起同步。

2.1:建立rsync配置文件

语法
rsync [选项] 原始位置 目标位置

常用选项
-a:         归档模式,递归并保留对象属性,等同于-rlptgoD
-v:         显示同步过程的详细(verbose)信息
-z:         在传输文件时进行压缩(compress)
-H:         保留硬连接文件
-A:         保留ACL属性信息
-p:         保留文件的权限标记
-t:         保留文件的时间标记
-g:         保留文件的属组标记
-o:         保留文件的属主标记
-delete:    删除目标位置有而原始位置没有的文件
-checksum:  根据对象的校验和来决定是否跳过文件

同步源服务器:

[root@server1 ~]# rpm -q rsync          #检查rsync是否安装
rsync-3.0.9-18.el7.x86_64
[root@server1 ~]# vi /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = yes                        #禁锢在宿主目录中
address = 192.168.158.10                #监听地址
port 873                                #端口号
pid file = /var/run/rsyncd.pid          #进程文件位置
log file = /var/log/rsyncd.log          #日志文件位置
hosts allow = 192.168.158.0/24               #允许地址范围
dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2         #不再压缩这几种格式的文件
[wwwroot]
path = /var/www/html                    #同步的目录
comment = www.tom.com
read only = yes                         #只读
auth users = backuper
secrets file = /etc/rsyncd_users.db     #用户密码存放位置
  • 创建backuper用户的密码文件
[root@server1 ~]# vi /etc/rsyncd_users.db
backuper:123456
  • 给密码文件设置执行权限
[root@server1 ~]# chmod 600 /etc/rsyncd_users.db 
  • 启动rsync
[root@server1 ~]# rsync --daemon
[root@server1 ~]# netstat -anpt |grep rsync
tcp        0      0 192.168.158.10:873      0.0.0.0:*               LISTEN      7360/rsync        
  • 安装httpd,有一个/var/www/html的共享目录,也可以自己创建
[root@server1 ~]# yum -y install httpd
[root@server1 ~]# echo "this is test web" > /var/www/html/index.html

2.2:客户机服务器B测试


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值