文章目录
一、Rsync–数据镜像备份工具
1.Rsync 概述
- rsync 是 Linux 系统下的数据镜像备份工具
- 使用快速增量备份工具 Remote Sync 可以远程同步,支持本地复制,或者与其他 SSH、rsync 主机同步
- 官方网站:https://rsync.samba.org/
2.Rsync 特性
- 可以镜像保存整个目录树和文件系统
- 可以很容易做到保持原来文件的权限、时间、软硬链接等等
- 无须特殊权限即可安装
- 快速:
- 第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件
- rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽
- 安全:
- 可以使用 scp、ssh 等方式来传输文件
- 当然也可以通过直接的 socket 连接
- 支持匿名传输,以方便进行网站镜像
3.Rsync 同步源
- 在远程同步任务中,负责发起 rsync 同步操作的客户机称为客户端,而负责响应来自客户端的 rsync 同步操作的服务器称为备份源,也称之为同步源
- 在下行同步(下载)中,同步源负责提供文档的原始位置,发起端应对该位置有读取权限
- 在上行同步中(上传)中,同步源负责提供文档的目标位置,发起端应对该位置具有写入权限
4.Rsync 配置流程
1.基本思路
- 建立rsyncd.conf配置文件、独立的账号文件
- 启用rsync的 --daemon模式
----
2.配置文件 rsyncd.conf
- 认证配置 auth users、secrets file,不加则为匿名
----
3.独立的账号文件
- 用户名:密码
- 每行一个用户记录
- 独立的账号数据,不依赖系统账号
----
4.启用 rsync 服务
- 通过"--daemon"独自提供服务(rsync --daemon)
- 执行"kill $(cat /var/run/rsyncd.pid)"关闭服务
5.Rsync 使用语法及参数详解
--使用语法--
rsync [选项] 原始位置 目标位置
#基本格式
--配置源的两种格式--
1. 用户名@主机地址::共享模块名
或
2. rsync://用户名@主机地址/共享模块名
常用选项 | 解释 |
---|---|
-v,–verbose | 详细模式输出 |
-q,–quiet | 精简输出模式 |
-c,–checksum | 打开校验开关,强制对文件传输进行校验 |
-a,–archive | 归档模式,表示以递归方式传输文件,并保持所有文件树形 |
-r,–recursive | 对子目录以递归模式处理,包含目录及子目录中的所有文件 |
-H,–hard-links | 保留硬链接 |
-l, --links | 保留软链接 |
–delete | 删除目标位置有而原始位置没有的文件(一致性) |
–delete-after | 传输结束以后再删除 |
-A | 保留ACL属性信息 |
二、Inotify–Linux 特性
1.Inotify 简介
-
Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等
-
还可以跟踪活动的源头和目标等细节
-
Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多
2.Inotify 的使用
可以监控文件系统的变动情况,并做出通知响应:
-
调整inotify内核参数(优化)
-
/etc/sysctl.conf(内核参数配置文件)
max_queue_events #监控事件队列大小 max_user_instances #最多监控实例数 max_user_watches