rsync远程同步
rsync远程同步: 是一个开源的快速备份工具,可以在不同主机之间同步整个目录 在此远程同步任务中,一个是源端,一个是发起端(发起端和源端同步) 源端负责文件的原始位置,发起端和源端的文件同步
rsync的特点: 拷贝文件,连接文件,设备 可以保持源文件或者目录的权限不变,时间、软硬连接、所有者、所在组等均可以保持不变 可以实现增量同步,即只同步发生变化的数据,数据传输效率很高 可以支持匿名认证
同步方式: 1、完整备份,第一次同步都是完整备份 2、往后同步,都是增量备份(差异备份),只同步变化的数据
rsync命令的选项:
-r:递归模式,目录包含子目录里面的所有文件
-l:复制链接文件,软链接
-v:显示同步过程中的详细信息
-z:传输文件时,进行压缩
-a:归档模式,保留文件的权限,属性等等
-p:保留文件的权限标记(所有者,所在组)
-t:保留时间标记(时间戳)
-g:保留文件的所在组(管理员权限)
-o:保留文件的所有者(管理员权限)
-D:保留设备文件喝其他特殊文件
-H:保留硬链接
--delete:删除目标位置有,但是原始位置没有的文件
下行同步:
从源端同步到客户端
上行同步:
从客户端同步到源端
test1 源端
test2发起端
源端-----发起端
rsync-avz backuper@192.168.233.10::test /opt
rsync 发起同步的命令
-avz: 保留文件权限 v 显示详细过程 z:同步过程中对文件进行压缩
rsync同步速度很困,适合同步大文件,可以结合数据库同步使用
复制同步:rsync -avz --password-file=/etc/server.pass backuper@192.168.233.30::test /opt/
监控事件队列
cat /proc/sys/fs/inotify/max_queued_events
最多监控的实例
cat /proc/sys/fs/inotify/max_user_instances
每个实例最多监控的文件数
cat /proc/sys/fs/inotify/max_user_watches
inotify:通知接口,可以用来监控文件系统的各种变化情况,文件存取,删除 移动 修改都可以被监控
inotify机制喝rsync配合在一起使用,既可以通知变化,也可以实现同步
inotifywait -mrq -e modify,create,move,delete /opt/test/
-m:表示持续监控
-r:递归整个目录
-q:信息提示
-e:指定监控的事件,多个事件用逗号隔开
rsync -azH --delete --password-file=/etc/server.pass /opt/data/ backuper@192.168.233.30::test/
在文件数量较多的情况下,比如百万或者千万级别的文件,rm-rf *速度很慢
rsync可以实现快速删除大量的文件
rsync --delete-before -a -H -v --progress --stats /home/blank /opt/test1
--delete-before: