rsync远程同步

rsync远程同步 :是一个开源的快速备份工具,可以在不同主机之间同步整个目录

在远程同步任务,一个在源端,一个是发起端

源端负责文件的原始位置,发起端和源端的文件同步

rsync的特点

拷贝文件,连接文件、设备

可以保持源文件或者目录的权限不变 时间,软硬连接 所有者 所在组等均可以保持不变

可以实现增量同步,只同步发生变化的数据,数据传输效率很高

支持匿名认证

scp复制

同步方式

1、完整备份,第一次同步都是完整的备份

2、往后的同步,都是增量备份(差异备份),只同步变化的数据。

rsync命令的选项

-r:递归模式,包含子目录里面的所有文件

-l:复制连接文件,软连接

-v:显示同步过程中的详细信息,

-z;传输文件时进行压缩。

-a;归档模式,保留文件的权限,属性等等

-p;保留文件的权限标志(所有者,所在组)

-t;保留时间标记(时间戳)

-g:保留文件的苏在组(管理员)

-H:保留硬链接

-D:保留设备文件和其他特殊文件

--delete:删除目标位置有,但是原始位置没有的文件。

下行同步

从源端同步到客户端

上行同步

从客户端同步到源端

test1 源端

test2 客户端

use chroot = yes

禁锢在源目录

address = 20.0.0.17

设置监听地址

port 873

监听端口

hosts allow = 20.0.0.0/24

指定可以访问服务端的地址

dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

上述后缀名为结尾的文件,同步时不在压缩

配置共享模块和目录 用户名和密码

[mha] path = /opt/mha comment = mha read only = yes auth users = backuper secrets file = /etc/rsyncd_users.db

rsync -avz [email protected]::test /opt

rsync:发起同步的命令

-avz:保留文件权限 v显示详细过程 z:同步过程中对文件进行压缩

20.0.0.17::test:模块名称,不是目录名

rsync远程同步_第1张图片

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576

rsyns同步速度很快,适合同步大文件,可以结合数据库同步使用

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/ [email protected]::test/

在文件数量较多的情况下,比如百万或者千万级别的文件,rm -rf *速度很慢

rsync可以实现快速大量删除文件

rsync --delete -before -a -H -v --progress --stats /home/blank/ /opt/test1

--delete-before :在传输的过程中进行删除

-a归档模式

-H硬链接

-v输出过程信息

-progress显示传输过程

你可能感兴趣的:(linux)