rsync远程推送文件的核心是“本地→远程”模式,使用ssh传输,支持增量、压缩和属性保留;基础命令为rsync -avz /本地路径/ 用户@ip:/远程路径/,源路径末尾斜杠决定同步内容还是目录本身。

用 rsync 远程传文件到服务器,核心就是“推”(本地 → 远程),命令简洁、安全、支持增量,比 scp 更高效。
基础推送命令(SSH 模式)
这是最常用、无需额外配置的方式,依赖 SSH 服务(默认端口 22):
-
语法:
rsync -avz /本地/路径/ 用户@远程IP:/远程/路径/ -
-a:归档模式,保留权限、时间戳、软链接等 -
-v:显示传输过程(可选,调试时很有用) -
-z:传输中自动压缩,节省带宽 - 源路径末尾加
/表示只同步内容;不加则连目录名一起复制
例如,把本地 /home/user/docs/ 推送到服务器 192.168.1.100 的 /backup/ 目录下:
常见实用变体
根据实际需求微调参数,让传输更精准:
宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。
- 限速上传(避免占满带宽):
--bwlimit=1000(单位 KB/s) - 跳过已存在且更新的文件:
-u(update 模式) - 删除目标端多余文件(严格镜像):
--delete(慎用!确保源正确) - 排除特定文件或目录:
--exclude="*.log" --exclude="temp/" - 显示实时进度:
-P(等价于--partial --progress)
注意路径末尾斜杠的含义
这个细节极易出错,直接影响结果:
-
rsync -a dir/ user@host:/path/→ 把dir里的所有文件复制进/path/ -
rsync -a dir user@host:/path/→ 把整个dir目录(含名字)复制为/path/dir
简单记:源路径带 / 是“内容”,不带是“目录本身”。
如果遇到权限或连接问题
多数情况属于环境配置问题,快速排查方向:
- 确认远程服务器 SSH 正常(
ssh 用户@IP能登录) - 检查远程目标路径是否有写入权限(尤其非 root 用户)
- 若提示 “Connection refused”,可能是防火墙拦截了 22 端口
- 想免密传输?配置好 SSH 公钥认证即可,rsync 自动复用










