一 rsync 简介
1 定义
官网: https://www.samba.org/ftp/rsync/rsync.html
是一款开源的, 快速的, 多功能的, 可实现全量及增量的本地或远程数据同步备份的优秀工具, 适用于 unix/Linux/windos(中文字符, 效率不高)
rsync 英文全称: remote synchronization,rsync 基本本地两个目录之间的拷贝, 核心应用是两台主机之间的数据迁移, 类似于 SSH 中的 scp, 但 scp 每次进行的是全量拷贝, 而 rsync 之间是增量拷贝, 同样 cp 也是全量拷贝, rsync 是增量拷贝, 同时具有删除文件和目录的功能, 又相当于 rm 的命令.
在同步备份数据时, 默认情况下, 仅同步大小或者最后修改时间发生变化的文件或目录, 当然也可以根据权限, 属主等属性的变化同步, 但是需要指定相应的参数, 甚至可以实现只同步一个文件里有变化的内容部分.
centos5,rsync2.x 比对方法: 把所有文件比对以便, 然后进行同步.
centos6,rsync3.x 比对方法: 一边比对差异, 一边对差异的部分进行同步.
2 特性
1 支持拷贝特殊文件, 如链接文件, 设备等
2 可以做排除拷贝功能
3 备份时可以保证文件的属性不变
4 可以实现增量同步
5 可以通过 rcp,rsh,SSH 等方式配合传输文件 (本身不对数据加密)
6 通过启动进程进行数据同步
7 支持匿名或认证的进程模式传输, 可以实现方便安全的进行数据备份及镜像.
3 工作场景介绍
1 定时备份
cron+rsync
2 实时数据同步
inotify+ rsync
4 rsync 的工作模式
1 local 相当于 cp
2 通过 SSH 进行远程传输, 可以加密
3 通过一个进程进行数据的备份传输
rsync 端口 873(服务端) 推和拉都是客户端的命令
- --exclude-from =file (文件名所在的目录文件)
- --bwlimit=RATE limit socket I/O bandwidth(字节为单位)
- uid = rsync #用户 ID
- gid = rsync #组 ID
- use chroot = no
- max connections = 200 #最大链接数
- timeout = 300 #超时参数
- pid file = /var/run/rsyncd.pid #进程号对应 PID
- lock file = /var/run/rsync.lock #锁文件, 防止数据不一致
- log file=/var/log/rsyncd.log #日志文件
- [backup] #模块
- path = /backup #提供访问的目录
- ignore errors #忽略错误
- read only = false #可写
- list = false # 不能使用 ls 和 ll 等列表命令
- hosts allow = 192.168.1.0/24 #允许那些链接
- hosts deny = 0.0.0.0/32 #拒绝那些链接 允许和拒绝二选一
- secrets file = /etc/rsync.password # 允许链接的虚拟用户
来源: http://www.bubuko.com/infodetail-2912506.html