简介
rsync
命令可以用来进行文件同步,Linux/FreeBSD中均可以使用。
它可以用于本地与远程、两个本地目录之间的文件(夹)同步,提供文件复制和移动功能,可以替代cp
和mv
命令。
和scp
不同,rsync
会检查发送方和接收方已有的文件,仅传输有变动的部分(默认检查文件大小或修改时间的差异)。
同步目录
同步本地目录
1 | rsync -avzP --delete <srcDir> <dstDir> |
同步远程目录
1 | rsync -avzP --delete <user>@<remoteHost>:<remoteDir> <localDir> |
参数说明:
-a
相当于-rlptgoD
,-r
递归,-l
链接(link)文件,-p
保持原有权限,-t
保持文件原有时间,-g
保持文件用户组,-o
保持文件属性,-D
块设备文件-v
将结果输出到终端-z
传输时压缩-P
显示传输进度--delete
删除目标目录中不存在于源目录中的文件