rsync实现远程同步
文章目录
一、关于rsync
- Remote Sync,远程同步
- 支持本地复制,或者与其他SSH、rsync主机同步
- 官方网站:http://rsync.samba.org
- rsync 主要是让各个服务器中数据同步
- 只读可以下载,不可以上传 下载决定于读
- 所有的内容只需要去找源点 备份点也叫发起端
- kill -9 强制结束 pid文件还在
- kill 结束 删除pid文件
二、 rsync命令的用法
- rsync [选项] 原始位置 目标位置 ## 把原始位置同步到目标位置
- a: 归档模式,递归保留对象属性,等同于 -rlptgoD 如属组属主
-v: 显示同步过程的详细(verbose) 信息
-z: 在传输文件时进行压缩(compress)
-H: 保留硬连接位置
-A:保留ACL属性信息
–delete : 删除目标位置有而原始位置没有的文件 #保持两边文件一致 (如果两边的数据不一致,那么用户访问获取的内容就是不一致了) 这条命令要小心
–checksum: 根据对象的校验和来决定是否跳过文件
三、rsync实时同步
3.1 定期同步的不足
- 执行备份的时间固定,延迟明显、实时性差
- 当同步源长期不变化时,密集的定期任务是不必要的
3.2 实时同步的优点
- 一旦同步源出现变化,立即启动备份
- 只要同步源无变化,则不执行备份
四、inotify
- Linux内核的inotify机制
- 从版本2.6.13开始提供
- 可以监控文件系统的变动情况,并做出通知响应
- 辅助软件:inotify-tools
4.1 调整inotify内核参数
- max_queue_events:监控事件队列大小
- max_user_instances:最多监控实例数
- max_user_watches:每个实例最多监控文件数
[root@localhost ~]# vi /etc/sysctl.conf
……
fs.inotify.max_queued_events = 16384 ##监控数应大于监控目标的总文件数
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
[root@localhost ~]# sysctl -p
4.2 安装inotify-tools辅助工具
- inotifywait:用于持续监控,实时输出结果
- inotifywatch:用于短期监控,任务完成后再出结果
- inotify 作用是监控 然后做出通知响应
- 监控的事件 —— modify 修改 create 创建 move 移动 delete 删除
参数说明
inotifywait
语法:
inotifywait [-hcmrq] [-e ] [-t ] [--format ] [--timefmt ] [ ... ]
参数:
-h,–help
输出帮助信息
@
排除不需要监视的文件,可以是相对路径,也可以是绝对路径。
–fromfile
从文件读取需要监视的文件或排除的文件,一个文件一行,排除的文件以@开头。
-m, –monitor
接收到一个事情而不退出,无限期地执行。默认的行为是接收到一个事情后立即退出。
-d, –daemon
跟–monitor一样,除了是在后台运行,需要指定–outfile把事情输出到一个文件。也意味着使用了–syslog。
-o, –outfile
输出事情到一个文件而不是标准输出。
-s, –syslog
输出错误信息到系统日志
-r, –recursive
监视一个目录下的所有子目录。
-q, –quiet
指定一次,不会输出详细信息,指定二次,除了致命错误,不会输出任何信息。
–exclude
正则匹配需要排除的文件,大小写敏感。
–excludei
正则匹配需要排除的文件,忽略大小写。
-t , –timeout
设置超时时间,如果为0,则无限期地执行下去。
-e , –event
指定监视的事件。
-c, –csv
输出csv格式。
–timefmt
指定时间格式,用于–format选项中的%T格式。
–format
指定输出格式。
%w 表示发生事件的目录
%f 表示发生事件的文件
%e 表示发生的事件
%Xe 事件以“X”分隔
%T 使用由–timefmt定义的时间格式
inotifywatch
语法:
参数:
-h,–help
输出帮助信息
@
排除不需要监视的文件,可以是相对路径,也可以是绝对路径。
–fromfile
从文件读取需要监视的文件或排除的文件,一个文件一行,排除的文件以@开头。
-m, –monitor
接收到一个事情而不退出,无限期地执行。默认的行为是接收到一个事情后立即退出。
-d, –daemon
跟–monitor一样,