rsync命令的基础使用

posts/rsync%E5%91%BD%E4%BB%A4%E7%9A%84%E5%9F%BA%E7%A1%80%E4%BD%BF%E7%94%A8

基础用法

src目录同步到dst目录

$ rsync -r src/ dst # src/ 可为多个文件夹, -r 参数为 recursion

-a 参数

-a 可以代替 -r 并且能够同步文件元信息

$ rysnc -a src/ dst #常用方法

-n 参数

-n参数可以尝试模拟运行命令(在不确定的情况下使用),也可以使用--dry-run参数

-v 参数

  • -v 输出细节
  • -vv 输出更详细信息
  • -vvv 输出最详细的信息

-delete 参数

用于镜像同步,保证目标文件夹下与原文件夹内容一致。

-z 参数

指定同步时的压缩速率

排除/筛选文件

-exclude 参数

排除某个目录下的文件

$ rsync -a --exclude 'dir/*' src/ dst

排除后缀带有 txt 的文件

$ rsync -a --exclude='*.txt' src/ dst
# 或者
$ rsync -a --exclude '*.txt' src/ dst

-include 参数

仅备份后缀带有 txt 的文件

$ rsync -a --include="*/" --exclude='*' --include='*.txt' src/ dst
# For rsync version 3.0.6 or higher, the order needs to be modified as follows
$ rsync -a --include="*/" --include='*.txt' --exclude='*' src/ dst

远程同步

SSH 协议

同步数据到服务器

$ rsync -av src/ username@remote_host:dst

从服务器同步数据到本地

$ rsync -av username@remote_host:src/ dst

参考链接