(十二)rsync 远程数据同步
一、Linux 备份解决方案
1、Linux 备份的方式
- 本地备份:
- 使用命令
tar
、cp
进行备份。 - 编写数据备份脚本结合计划任务进行周期备份。
- 使用命令
- 远程数据备份:
- 将服务器备份数据通过网络上传到远程服务器或者远程异地服务器进行备份,可靠性强。
2、rsync 远程数据备份作用和优势
- 作用:支持本地数据或者远程数据备份。
- 优势:
- 延迟小。
- 备份速度快。
- 支持触发式数据同步。
3、rsync 服务器组成
- rsync 源端:需要备份的数据产生在 rsync 源端。
- rsync 客户端:同步 rsync 源端数据到客户端进行备份。
4、安装 rsync 程序和服务管理
- 安装程序:使用
rpm -ivh /mnt/Packages/rsync-3.0.9-18.el7.x86_64.rpm
进行安装。 - 主配置文件位置:
/etc/rsyncd.conf
。 - 主配置文件常见配置选项:
uid = nobody
:管理 rsync 进程的用户。gid = nobody
:管理 rsync 进程的组。use chroot = yes
:固定同步源根目录。address = 192.168.100.10
:监听 IP 地址。port = 873
:监听端口 873。dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
:当前这些文件类型同步不需要压缩。
二、配置 rsync 同步源服务器和使用 rsync 命令
1、配置 rsync 同步源服务器
- 创建同步源根目录:执行
mkdir /***
创建同步源根目录。 - 设置同步源账户密码:编辑
/etc/rsyncuser
文件,设置验证用户名字为***
,密码为***
。 - 设置账户密码数据库权限:执行
chmod 600 /etc/rsyncuser
设置密码数据库权限为 600。 - 修改 rsync 服务器主配置文件配置同步源:
- 设置管理用户和组为
nobody
。 - 设置最大连接数为 4。
- 指定日志文件为
/var/log/rsync.log
。 - 设置监听 IP 地址和端口。
- 设置允许连接的网络范围,默认为允许任意网络,也可指定特定网络如
192.168.100.0/24
。 - 定义同步源名称、路径、说明等信息,并设置只读、验证用户和密码文件。
- 设置管理用户和组为
- 启动服务:执行
netstat -anptu | grep 873
查看服务状态。 - 停止服务:执行
killall -9 rsync
停止服务。
2、rsync 客户端同步数据
- 第一种方式:创建同步目录,执行
rsync -avz ***@192.168.100.10::*** /***/
将目标主机数据存储到本地目录。 - 第二种方式:创建同步目录,执行
rsync -avz rsync://***@192.168.100.10/*** /***/
进行同步。 - 身份验证免交互式远程同步数据:创建密码文件,设置权限,执行
rsync -avz --password-file=/root/password.list rsync://***@192.168.100.10/*** /***/
实现同步数据加载密码免交互式验证。 - 计划任务周期性自动备份:编辑计划任务,执行
/usr/bin/rsync -avz --password-file=/root/password.list rsync://***@192.168.100.10/*** /***/
进行周期性自动备份。
3、rsync 命令选项
-a
:启动归档模式。-v
:显示归档详细信息。-z
:传输数据进行数据压缩。-r
:循环同步目录数据。-l
:复制符号连接。-p
:保留源文件权限不变。-t
:保持时间标记不变。-g
:保留组信息。-o
:保留用户信息。-H
:保留硬链接。-D
:保留设备块信息。--delete
:同步数据删除目录数据。
三、rsync 实时同步数据
1、周期计划任务和实时同步数据区别
- 周期计划任务同步数据特点:
- 在指定时间范围内重复执行 rsync 命令备份数据。
- 延迟增加。
- 占用带宽资源高。
- 实时同步数据特点:
- 源数据发生改变自动触发同步数据。
- 延迟小。
- 占用带宽资源小。
2、inotify 作用和特点
- 作用:结合 rsync 实现实时同步数据的工具。
- 特点:
- Linux 内核必须是 2.6.13 以上。
- 支持触发式实时同步数据。
3、inotify 工具组件
- inotifywait:用于持久化实时同步数据。
- inotifywatch:用于临时一次性同步数据。
4、安装配置 inotify
- 安装程序:
- 解压安装包到指定目录。
- 编译安装。
- 修改内核参数:编辑
/etc/sysctl.conf
文件设置相关参数,执行sysctl -p
使参数生效。 - inotifywait 属性:
modify
:修改文件或者目录属性。create
:创建目录文件。move
:移动重命名。delete
:删除。
- inotifywait 选项:
-m
:持续监听。-r
:递归监控目录变化。-q
:显示监控信息。-e
:指定监控属性。
- 监控数据:执行
inotifywait -mrq -e modify,create,move,delete /***/
进行监控。
5、配置实时触发式远程同步数据
- 生成密钥对上传公钥到远程计算机:执行
ssh-keygen -t RSA
生成密钥对,执行ssh-copy-id -i root@192.168.100.20
上传公钥。 - 创建实时同步脚本:创建脚本文件,设置监听和同步命令,通过循环实现实时同步。
- 脚本后台执行:执行脚本并将其置于后台运行。
- 查看后台运行的任务:执行
jobs
查看后台任务。
原文地址:https://blog.csdn.net/m0_73458595/article/details/142925251
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!