前置说明
在 Linux系统运维、文件备份、服务器数据同步场景中,rsync 是当之无愧的神器。相较于传统的cp、scp 命令,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 高频坑点避坑指南
- 本地传输加 -z 压缩:本地磁盘同步无需压缩,只会浪费CPU资源,降低传输速度,仅远程弱网使用
-z - 忽略目录后缀 /:源目录漏加
/,会导致目标嵌套多余文件夹,目录结构错乱 - 盲目使用 –delete:首次同步建议加
-n模拟校验,避免误删目标目录原有重要数据 - 海量小文件单线程传输:不使用parallel多线程,传输速度会慢数十倍
- 已压缩文件重复压缩:jpg、mp4、zip等文件无需二次压缩,务必添加
--skip-compress过滤
七、总结
rsync 是 Ubuntu26.04 系统运维、数据备份、文件同步的核心工具,核心精髓在于增量传输+按需优化。日常简单同步使用 -avhP --delete 万能组合即可,大文件、远程传输、海量小文件等场景按需叠加优化参数,配合定时任务可实现全自动数据备份。
本文所有命令均适配 Ubuntu26.04 最新版本,无兼容问题,可直接用于个人主机、生产服务器、开发环境,彻底替代传统 cp、scp 低效传输方式。