rsync客户端怎么把文件同步到服务器上

rsync同步文件到服务器,一条命令就能搞定:rsync -avz 本地目录 用户名@服务器IP:目标路径,但真正用好它,你得理解它的增量机制、删除策略和断点续传逻辑。

rsync是Linux和macOS上自带的开源同步工具,Windows用户可以通过cWrsync或WSL使用它,它最大的本事不是“复制”,而是“比对”只传输有差异的部分,所以第二次同步比第一次快得多,下面我从最基础的命令讲起,一步步带你把它用熟。

Windows10通过rsync同步文件到omv远程服务器
加载中
Windows10通过rsync同步文件到omv远程服务器

rsync同步文件到服务器命令,从入门到实战

先把最常用的命令形态写出来,你直接照着改就能用:

rsync -avz /本地/目录/ 用户名@服务器IP:/远程/目录/

这条命令的含义是:把本地目录里的所有内容,通过SSH协议(默认就是它)推到服务器的指定目录下。

几个参数拆开讲:

  • -a:归档模式,相当于同时开启了递归传输、保留权限、时间戳、软链接等属性,日常同步基本离不开它。
  • -v:显示传输过程,能看到哪些文件被传了,哪些被跳过了。
  • -z:传输时压缩,适合带宽有限的场景,但会多消耗一点CPU。

目录结尾的斜杠,决定了同步的层级结构

这是新手最容易踩的坑:

  • rsync -avz /本地/目录 用户名@服务器IP:/远程/目录/ 会把“目录”本身放进远程目录里,结果是 /远程/目录/目录/
  • rsync -avz /本地/目录/ 用户名@服务器IP:/远程/目录/ 只把“目录”里的内容放进远程目录,结果是 /远程/目录/文件1、/远程/目录/文件2

行业共识认为,大多数人想实现的是第二种效果,也就是把本地目录里的内容同步过去,而不是多套一层目录,如果你在服务器上看到多了一层同名目录,不用怀疑,就是斜杠的位置不对。

用–dry-run预览,用–delete镜像同步

直接跑同步命令前,先加一个-n参数做演练:

rsync -avzn /本地/目录/ 用户名@服务器IP:/远程/目录/

它会列出“将要传输哪些文件”,但不会真正执行,确认无误后去掉

rsync客户端怎么把文件同步到服务器上

-n再跑。

如果你希望本地删掉的文件,服务器上也同步删除,那就加上--delete:

rsync -avz --delete /本地/目录/ 用户名@服务器IP:/远程/目录/

这个参数要谨慎使用,它会让远程目录完全镜像本地目录,本地删了什么,远程就跟着删什么,适合用来做镜像站同步或测试环境对齐,但不适合做备份因为误删本地文件后,备份也会跟着清掉。

rsync增量备份和全量备份有什么区别

rsync的核心机制是增量传输,第一次同步时,它会全量传一遍;之后每次运行,它先对比文件大小和修改时间,只有变化的文件才会重新传输,所以第二次、第三次同步会快很多,这也是rsync比scp更适合做备份的原因。

如果你想让它每次都全量传输,可以加-I参数忽略时间戳对比,或者用--checksum按校验和对比,但大多数场景下,默认的增量机制已经够用。

用rsync做定时增量备份的完整方案

一个常见的生产环境备份策略是这样的:

  1. 先在服务器上建好备份目录,比如/backup/web
  2. 本地写一个脚本,内容就是一条rsync命令
  3. 用crontab定时执行,比如每天凌晨2点跑一次

脚本示例:

#!/bin/bash
rsync -avz --delete /var/www/html/ 用户名@服务器IP:/backup/web/

把脚本存为backup.sh,然后执行crontab -e,加入:

0 2    /path/to/backup.sh

这样每天凌晨2点,服务器上的备份目录就会和本地的站点目录保持一致。

保留多版本备份:用–link-dest做快照式备份

只做镜像同步有个问题:如果服务器上的文件被误改或误删,你想回滚到昨天的版本,就没办法了,rsync提供了一个很优雅的解决方案:--link-dest。

它的原理是:先做一次完整备份,后续备份时,把没变化的文件做成硬链接,而不是重新存储,这样每个时间点都像是一个完整备份,但实际磁盘占用只增加变化的部分。

rsync -avz --delete --link-dest=/backup/web/20260101 /var/www/html/ 用户名@服务器IP:/backup/web/20260102/

rsync客户端怎么把文件同步到服务器上

这条命令的意思是:以20260101这个备份为基础,生成20260102的新备份,没变化的文件通过硬链接指向旧文件,变化了的文件重新传输,你可以在服务器上保留多个日期的备份,而磁盘开销远小于全量备份。

rsync断点续传怎么实现,中断了不用重来

同步大文件时,网络抖动导致传输中断,重新跑一遍又得从头开始,rsync解决这个问题有两个参数:

  • --partial:保留部分传输的文件,下次同步时从中断处继续
  • --append-verify:在--partial基础上,对已传输的部分做校验

实战命令:

rsync -avz --partial --append-verify /本地/大文件.tar.gz 用户名@服务器IP:/远程/目录/

第一次跑断了,文件会保留在远程服务器上,下次再跑同样的命令,它会检测到文件不完整,从断点继续传,而不是重新开始。

rsync同步慢怎么解决,先排查这五个环节

如果你发现rsync传输速度远低于带宽上限,按以下顺序排查:

  1. 网络本身:用iperf3测一下服务器和本地之间的实际带宽,如果带宽就只有10Mbps,那rsync再快也快不起来。
  2. CPU瓶颈:-z压缩参数在高配服务器上收益明显,但在低配机器上反而拖慢速度,可以先去掉-z试试。
  3. 小文件过多:rsync每个文件都有握手开销,如果目录里有几十万个小文件,速度会显著下降,可以先tar打包再传,或者用--bwlimit限速避免影响其他业务。
  4. 磁盘IO:本地磁盘或服务器磁盘读写慢,同样会拖慢整体传输,用iotop看一下磁盘占用。
  5. SSH加密开销:如果传输速度始终上不去,可以改用rsync的daemon模式(走873端口,不用SSH加密),速度会有明显提升,但安全性下降,只建议在内网环境用。

rsync同步常见报错,你自己就能排查

实际使用中,下面几个报错出现频率最高:

Permission denied (publickey)

SSH密钥认证失败,检查三件事:

rsync客户端怎么把文件同步到服务器上

  • 本地是否生成了密钥:ssh-keygen -t rsa -b 4096
  • 公钥是否已添加到服务器的~/.ssh/authorized_keys里
  • 服务器上的~/.ssh目录权限是否为700,authorized_keys权限是否为600

rsync: connection unexpectedly closed

可能是服务器端的rsync版本过旧,或者SSH服务限制了连接数,先在服务器上执行rsync --version确认版本,再检查/etc/ssh/sshd_config里的MaxSessions和MaxStartups配置。

同步后文件权限变了

rsync默认会保留原文件的权限和属主,但如果你用非root用户同步,可能无法保留属主,导致同步后的文件属于当前用户,解决方案是给rsync加-o和-g参数保留属主和属组,但这要求你有root权限,或者用--chown指定目标属主:

rsync -avz --chown=www:www /本地/目录/ 用户名@服务器IP:/远程/目录/

关于rsync同步文件到服务器的常见问题解答

rsync和scp有什么区别,什么时候用rsync?

scp是全量复制,每次都要把整个文件传一遍;rsync是增量同步,只传输变化的部分,对一次性小文件传输,两者差别不大;对频繁同步、大文件、目录备份这类场景,rsync完胜,rsync支持断点续传和删除同步,scp都不支持。

rsync同步文件到服务器,需要服务器端安装什么?

只需要安装rsync客户端程序,绝大多数Linux发行版默认已安装,如果没有,用apt install rsync或yum install rsync装上即可,rsync走SSH协议时,不需要在服务器上启动任何额外服务,只要SSH端口(默认22)能连通就行。

rsync能同步中文文件名吗?

可以,rsync对文件名编码没有限制,UTF-8编码的中文文件名可以正常同步,如果你在服务器上看到乱码,通常是终端编码设置问题,把本地终端编码改为UTF-8即可解决。


rsync这个工具,入门只需要一条命令,精通则需要理解它的增量机制、删除策略和参数组合,把它用好了,你就能实现高效的文件备份、网站发布和日志归集,从今天起,把你手动的scp或FTP操作,换成一条rsync命令吧。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/rsync%e5%ae%a2%e6%88%b7%e7%ab%af%e6%80%8e%e4%b9%88%e6%8a%8a%e6%96%87%e4%bb%b6%e5%90%8c%e6%ad%a5%e5%88%b0%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a/

赞 (0)
win7打不开服务器失败怎么办
上一篇 2026年8月26日 12:16
设计Web服务器要考虑哪些方面,高性价比配置方案推荐?
下一篇 2026年8月26日 12:18

相关推荐

  • 戴尔T40塔式服务器值得买吗,小型企业用合适吗

    戴尔T40塔式服务器怎么样?结论先给:它适合小团队当“第一台服务器”,跑文件共享、打印服务、轻量ERP和备份够用,但别指望它扛高并发虚拟化和7×24重负载, 2026年再看这台机器,它不是新平台,胜在结构简单、采购成本可控、塔式机箱好安置,买之前把盘位、内存、远程管理和售后这四件事想清楚,比盯着CPU型号更实际……

    程序编程 2026年10月24日
    100
  • AI边缘云计算有哪些优势?边缘计算与云计算的区别是什么

    AI边缘云计算的核心优势在于通过“就近计算”大幅降低延迟、节省带宽成本并强化数据隐私,是2026年物联网与实时智能应用落地的关键基础设施,为什么2026年行业更青睐边缘计算而非纯云端处理随着生成式AI和自动驾驶技术的普及,数据量呈现爆炸式增长,如果所有数据都传回中心云服务器,网络拥堵和响应延迟将成为致命瓶颈,边……

    程序编程 2026年6月7日
    4210
  • win8系统服务器运行失败怎么修复?,错误代码怎么看

    win8系统服务器运行失败,绝大多数情况下是系统服务冲突、更新补丁异常或硬件驱动不兼容导致的,通过安全模式排查和针对性修复,大部分问题无需重装系统即可解决,常见故障表象与初步判断设备突然“罢工”时,先别急着格式化,服务器运行失败通常分为完全无法启动和启动后频繁报错两种,前者多见于硬件识别错误或系统核心文件损坏……

    2026年10月19日
    200
  • MVC发布到服务器路由怎么配,IIS部署MVC有哪些步骤?

    MVC项目发布到服务器后路由打不开,多数时候问题不在代码,而在三层:IIS的托管管道模式、web.config里的Handler节点、以及域名到站点之间的那层转发规则, 把这三处对齐,本地F5能跑的URL,线上一样能跑,本地能跑、传到服务器路由就失效,问题出在哪这个场景几乎每个做.NET的人都遇到过:Visua……

    程序编程 2026年10月22日
    000
  • 口袋妖怪tcg服务器维护怎么办?,进不去游戏怎么回事

    宝可梦tcg服务器维护不等于账号异常,先确认维护类型和预计时长,再决定等待、检查网络还是重装客户端,多数情况下官方会在维护结束前通过公告和登录页放出具体提示,遇到服务器维护的瞬间,很多玩家的第一反应是反复重启游戏,其实没必要,游戏行业里,线上卡牌游戏定期维护属于常态,宝可梦tcg线上版本也不例外,官方维护通常分……

    2026年10月7日
    100
  • CF单机版服务器是怎么搞的?,CF单机版怎么开服务器?

    CF单机版服务器是怎么搞的?核心路径就是“服务端+数据库+客户端”三件套打通,先在本机127.0.0.1跑通,再改内网IP做局域网,最后才用云服务器和端口映射做公网联机;个人学习测试可以低成本折腾,公开运营则要面对版权合规和攻击防护问题,很多人卡在第一步:软件装了一堆,客户端还是卡在登录界面,问题通常不在客户端……

    2026年10月12日
    100
  • LOL均衡教派为何连不上聊天服务器,英雄联盟聊天连不上怎么办

    均衡教派连不上聊天服务器不是你家电脑的锅,它是跨区合服后聊天系统共用一套调度网关导致的典型故障, 哪怕你网速飞起、电脑配置拉满,照样会在登录后看到“连接聊天服务器失败”的提示,这个问题的根源在服务器侧的负载分摊机制,本地能做的只有缓解和绕行,没法根治,为什么偏偏是均衡教派这个区犯毛病?聊清楚得先弄明白LOL聊天……

    2026年9月15日
    200
  • 双11AI应用管理活动怎么参加?有哪些优惠福利?

    在电商行业的年度大考中,技术稳定性与业务转化率的提升是核心命题,核心结论:构建一套精细化、智能化的AI应用管理体系,是确保双11期间流量洪峰下业务高可用、实现营销效果最大化的关键所在, 通过对算力资源的动态调度、模型性能的实时监控以及算法策略的快速迭代,企业能够将技术压力转化为增长动力,从而在激烈的竞争中确立优……

    2026年2月28日
    11700
  • Excel保存后文件丢失怎么办?电脑数据恢复技巧

    Excel保存后文件丢失或无法打开,核心原因通常是自动恢复功能未开启、临时文件被清理或软件冲突,建议立即检查临时文件夹并启用“始终创建备份副本”功能,当你在编辑Excel时突然遭遇断电、死机或软件崩溃,最让人崩溃的不是数据没存,而是点击“保存”后却发现文件凭空消失,或者打开时提示“文件已损坏”,这种场景在办公环……

    2026年7月7日
    10500
  • 和服务器共进退到底该怎么弄,有哪些解决步骤

    让服务器像老伙计一样随叫随到,核心在于把连接方式从“手动敲命令”升级为“自动化值守”,通过SSH密钥认证、终端复用器与监控告警的三层配合,才能真正实现“共进退”,不少站长和运维同行都有过这种体验:深夜正改着配置,SSH窗口突然卡死;或者远程跑着重任务,一个断连就让进度归零,服务器像个闹脾气的搭档,你热脸贴上去……

    程序编程 2026年10月23日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注