rsync常用选项
-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-t 保持文件的时间属性
-p 保持文件的权限属性
-l 保留软连接
-g 保持文件的属组
-o 保持文件的属主
-D 保持设备文件信息
-v 同步时显示一些信息,让我们知道同步的过程
-z 传输时压缩
-L 加上该选项后,同步软链接时会把源文件给同步
--delete 删除DEST中SRC没有的文件
--exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
--progress 在传输时显示传输过程
-P 显示同步过程,比如速率,比-v更加详细,same as --partial --progress
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-h 帮助
【常用】rsync -avz --progress 源文件|文件夹 目标文件|文件夹
【例子1】rsync -avzP /tmp/a.txt work@172.0.0.1: /tmp/
【例子2】rsync -avzP /home/work work@172.0.0.1: ~/(把整个work目录原封不动拷贝到~下,如果work后面带个/则是拷贝work下的所有目录)
因为默认sync是要先diff文件,比较文件时间戳和大小几个特征再决定要不要传文件,所以传输很慢,我这里是1K/s不到的速度。
如何解决这个问题?
答案很简单,去掉不必要的校验,比如diff,大小比较可以保留。这个时候就需要我大W选项,只去掉diff。
rsync -avzPW /home/work work@172.0.0.1: ~/
rsync通过ssh方式同步
推文件:
拉文件: