Ubuntu26.04 rsync 命令超全使用技巧|性能优化、增量备份、高速传输实战

前置说明

在 Linux系统运维、文件备份、服务器数据同步场景中,rsync 是当之无愧的神器。相较于传统的cpscp 命令,rsync 最大的优势是增量同步,仅传输新增、修改的文件数据,大幅节省磁盘IO与网络带宽,同时支持断点续传、权限保留、文件过滤、带宽限制等实用功能。

Ubuntu 26.04 默认预装新版 rsync,兼容性、传输算法均做了升级,无需额外安装依赖。本文结合 26.04 系统特性,整理零基础入门+高阶优化+生产级模板+避坑指南,所有命令可直接复制落地,适配本地备份、远程同步、大文件传输、定时备份等全场景。

一、rsync 核心优势(为什么首选它?)

  • 增量传输:对比文件大小、修改时间、校验值,仅同步差异数据,避免全量重复传输
  • 断点续传:传输中断后可接续进度,无需重新传输完整文件,适配大文件场景
  • 完整属性保留:支持保留文件权限、所有者、时间戳、软链接、目录结构
  • 双向场景适配:支持本地磁盘同步、跨服务器远程同步(SSH加密传输)
  • 高性能低消耗:可自定义压缩、带宽限制、多线程并行,适配不同硬件与网络环境

二、基础语法与黄金万能参数

1. 基础命令语法

# 本地同步语法
rsync [参数] 源目录/文件 目标目录

# 远程同步语法
# 拉取:远程文件下载到本地
rsync [参数] 用户名@远程IP:远程路径 本地路径
# 推送:本地文件上传到远程
rsync [参数] 本地路径 用户名@远程IP:远程路径

2. 必记黄金参数组合(生产通用)

日常90%场景可直接使用该组合,兼顾稳定、可视、安全、完整同步:

rsync -avhP --delete 源/ 目标

参数逐字详解(Ubuntu26.04 适配):

  • -a 归档模式:核心参数,等价于 -rlptgoD,完整保留目录结构、文件权限、时间戳、软链接、设备文件,备份必备
  • -v 详细输出:显示同步过程日志,方便排查异常
  • -h人类可读:文件大小以 KB/MB/GB 展示,替代原始字节数,可读性更强
  • -P 断点续传+进度显示:整合 –progress(实时进度)和 –partial(保留未完成文件),杜绝传输中断重传问题
  • –delete 智能同步:删除目标目录中存在、源目录已删除的文件,保证两端数据完全一致

3. 关键细节:源目录后缀 / 的区别

这是新手最容易踩的坑,直接决定同步结果:

  • source/:同步目录内所有内容,不包含文件夹本身
  • source:同步整个文件夹,目标路径会生成 source 子目录

三、Ubuntu26.04 专属场景实战教程

1. 本地文件/磁盘备份(日常最常用)

本地硬盘、U盘、移动硬盘同步,禁止加 -z 压缩参数(本地传输压缩会浪费CPU,反而降速):

# 本地增量备份,完全同步、删除冗余文件
rsync -avhP --delete /home/用户名/数据/ /media/备份盘/数据备份/

2. 远程服务器高速同步(跨机器传输)

远程网络传输推荐开启压缩,同时跳过已压缩文件,避免无效CPU消耗,适配Ubuntu26.04新版rsync压缩算法:

# 远程推送:本地 → 服务器(跳过图片、视频、压缩包)
rsync -avhzP --skip-compress=jpg/jpeg/png/gif/mp4/zip/gz /本地路径/ 用户名@192.168.1.100:/远程路径/

# 自定义SSH端口同步(服务器非22端口专用)
rsync -avhzP -e "ssh -p 2222" /本地路径/ 用户名@192.168.1.100:/远程路径/

3. 大文件极速增量优化(GB/TB级文件)

针对镜像、视频、压缩包等超大文件,开启块级增量同步,不生成临时文件,节省磁盘空间:

rsync -avhP --inplace --no-whole-file /大文件目录/ /目标目录/

参数说明:

  • –inplace:直接在目标文件原位写入数据,不创建临时文件,大幅节省磁盘IO
  • –no-whole-file:开启块级比对,仅传输文件差异区块,大文件增量同步提速80%以上

4. 文件精准过滤(排除/指定同步文件)

开发、运维必备,过滤缓存、配置、无用目录,避免同步冗余数据:

# 排除指定目录/文件(node_modules、.git、日志文件)
rsync -avhP --delete --exclude='node_modules/' --exclude='.git/' --exclude='*.log' /源目录/ /目标目录/

# 只同步指定后缀文件(仅同步txt、sh、json配置文件)
rsync -avhP --include='*.txt' --include='*.sh' --include='*.json' --exclude='*' /源目录/ /目标目录/

5. 带宽限流(防止占满网络)

服务器生产环境必备,避免rsync高速传输抢占全部带宽,影响业务运行:

# 限制最大带宽 1000KB/s(可自定义数值)
rsync -avhzP --bwlimit=1000 /本地路径/ 用户名@服务器IP:/远程路径/

6. 模拟同步(安全防误删)

执行正式同步前,先模拟运行,查看文件变更、删除列表,避免误删重要数据:

rsync -avhn --delete /源目录/ /目标目录/

-n 模拟执行参数:仅输出同步日志,不实际传输、删除文件,安全校验必备

四、Ubuntu26.04 rsync 高阶性能优化

1. 小文件批量提速(解决千万小文件卡顿)

rsync默认单线程传输,海量小文件场景速度极慢,结合parallel多线程并行同步:

# 安装并行工具
sudo apt install parallel -y

# 4线程并行同步一级目录文件(根据CPU核心数调整-j数值)
find /本地源目录 -maxdepth 1 -type d | parallel -j4 rsync -avhP {} /目标备份目录/

2. 定时无人值守备份(Crontab+rsync)

适合服务器自动备份,去除冗余日志参数,后台静默运行:

# 编辑定时任务
crontab -e

# 添加规则:每天凌晨2点自动执行备份
0 2 * * * rsync -ah --delete /home/数据/ /备份盘/数据备份/

定时任务参数说明:去掉 -v、-P,减少日志输出,避免占用系统资源,适合长期后台运行。

3. 免密远程同步(常态化备份必备)

解决定时任务无法输入密码问题,Ubuntu26.04 原生SSH密钥适配:

# 1. 生成本机密钥(全程回车默认,无需密码)
ssh-keygen

# 2. 推送公钥到远程服务器
ssh-copy-id 用户名@服务器IP

# 3. 直接免密同步,无需输入密码
rsync -avhP /本地路径/ 用户名@服务器IP:/远程路径/

五、生产级最佳模板(直接套用)

1. 本地日常稳定备份

rsync -avhP --delete /home/user/data/ /media/backup/data/

2. 远程高速加密同步

rsync -avhzP --delete --skip-compress=jpg/png/mp4/zip/gz /本地项目/ root@192.168.1.100:/server/project/

3. 超大文件增量备份

rsync -avhP --inplace --no-whole-file --delete /disk/large-file/ /backup/large-file/

4. 安全预览同步(上线前校验)

rsync -avhn --delete --exclude='cache/' /源目录/ /目标目录/

六、Ubuntu26.04 高频坑点避坑指南

  1. 本地传输加 -z 压缩:本地磁盘同步无需压缩,只会浪费CPU资源,降低传输速度,仅远程弱网使用-z
  2. 忽略目录后缀 /:源目录漏加 /,会导致目标嵌套多余文件夹,目录结构错乱
  3. 盲目使用 –delete:首次同步建议加 -n 模拟校验,避免误删目标目录原有重要数据
  4. 海量小文件单线程传输:不使用parallel多线程,传输速度会慢数十倍
  5. 已压缩文件重复压缩:jpg、mp4、zip等文件无需二次压缩,务必添加 --skip-compress 过滤

七、总结

rsync 是 Ubuntu26.04 系统运维、数据备份、文件同步的核心工具,核心精髓在于增量传输+按需优化。日常简单同步使用 -avhP --delete 万能组合即可,大文件、远程传输、海量小文件等场景按需叠加优化参数,配合定时任务可实现全自动数据备份。

本文所有命令均适配 Ubuntu26.04 最新版本,无兼容问题,可直接用于个人主机、生产服务器、开发环境,彻底替代传统 cp、scp 低效传输方式。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress