rsync命令的使用
2026/9/28大约 1 分钟
rsync是Linux系统下的数据镜像备份工具,采用快速增量备份机制,支持本地复制,也可以通过SSH、rsync协议与其他主机进行远程同步。
它的用法如下:
rsync -rlgoDzvci --delete dist/ user1@192.168.1.2:/var/local/nginx/www/这些参数的含义如下:
| 参数 | 含义 |
|---|---|
-r / --recursive | 递归复制目录 |
-l / --links | 保留符号链接,不跟随链接复制目标内容 |
-g / --group | 保留文件所属组 |
-o / --owner | 保留文件所有者,通常需要 root 权限 |
-D | 等价于 --devices --specials,保留设备文件和特殊文件,如 FIFO、Unix socket |
-z / --compress | 传输时压缩,主要对网络传输有意义 |
-v / --verbose | 输出详细过程 |
-c / --checksum | 用校验和判断文件是否变化,而不是默认的“大小 + 修改时间”;更准但更慢 |
-i / --itemize-changes | 逐项输出变更摘要,比如 >f+++++++++、.d..t...... |
--delete | 删除目标端多余的文件/目录,使目标端和源端一致 |
所以合起来等价于:
rsync \
--recursive \
--links \
--group \
--owner \
--devices \
--specials \
--compress \
--verbose \
--checksum \
--itemize-changes \
--delete \
dist/ user1@192.168.1.3:/var/local/nginx/www/源和目标都可以是本地地址或者远程地址。
在正式开始执行前可以加上 -n 或者 --dry-run 参数,表示只输出变更摘要,不实际执行。
值得注意的是,路径末尾是否有斜杠的含义需要区分
rsync -r /src/ /dst/:复制/src/里面的内容到/dst/rsync -r /src /dst/:把/src这个目录本身复制到/dst/src
