rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。
rsync同步服务器
在远程同步任务中,负责发起 rsync 同步操作的客户机称为发起端,而负责响应来自客户机的 rsync 同步操作的服务器称为同步源
在下行同步(下载)中,同步源负责提供文档的原始位置,发起端应对该位置具有读取权限。
在上行同步(上传)中,同步源负责提供文档的目标位置,发起端应对该位置具有写入权限。
rsync的工具使用
rsync [选项] 原始位置 目标位置
rsync实时同步
实时同步的优点
- 一旦同步源出现变化,立即启动备份
- 只要同步源无变化,则不执行备分
linux的inotify
- 从版本2.6.13开始提供
- 可以监控文件系统的变动情况,并做出通知响应
- 辅助软件:inotify-tools
发起端配置inotify+rsync
使用inotify通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应。
将inotify机制与rsync工具相结合,可以实现触发式备份(实时同步),即只要原始位置的文档发生变化,则立即启动增量备份操作;否则处于静默等待状态。
因为 inotify 通知机制由 Linux 内核提供,因此主要做本机监控,在触发式备份中应用时更适合上行同步。
使用rsync快速删除大量文件
mkdir空目录
rsync -a --delete 原始位置 目标位置