Rsync实时同步目录

从主机拉数据

命令

rsync -avzP --delete root@{remoteHost}:{remoteDir} {localDir}

参数详解

-a 参数,相当于-rlptgoD(-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件);
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息;
--delete 删除操作
--exclude 忽略文件或目录

示例:

rsync -avzP --delete root@192.168.1.100:/tmp/rtest1 /tmp/

向备机推数据

主机上启动的流程,同步命令:

rsync -avzP --delete {localDir} root@{remoteHost}:{remoteDir}

示例:

rsync -avzP --delete /tmp/rtest1 root@192.168.1.101:/tmp/

一台服务器,不同目录之间进行同步

rsync -avzP --delete /tmp/test_gitlab/web-godPen/ /opt/jenkins/rsync_d/
rsync -avzP --delete 新数据目录 旧数据目录
将新数据目录下的数据,同步至旧数据目录下,实现两个目录之间相同内容。(包括在新数据目录下,文件内容的增删改查及目录的增删改查)

注:如果不加--delete,只会同步增加的内容,新目录中删除的内容,并不会同步到旧目录中。
image.png

忽略某个目录(忽略旧数据中某个目录或文件不进行同步)

使用Rsync同步的时候往往会要求对某个文件夹或者文件进行忽略,客户端可以使用--exclude参数来实现对目录或者文件的忽略

注:必须是忽略在前,删除在后,否则没有意义!!!

rsync -avzP --exclude "cc" --delete /tmp/test_gitlab/web-godPen/ /opt/jenkins/rsync_d/

--exclude=a.txt

rsync -rltvz --port=873 --exclude-from=exclude.txt --progress --delete web@192.168.1.1::web /cygdrive/D/web/

a.txt 文件格式如下

.svn
Log
abc.txt

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。