从主机拉数据
命令
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,只会同步增加的内容,新目录中删除的内容,并不会同步到旧目录中。
忽略某个目录(忽略旧数据中某个目录或文件不进行同步)
使用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