服务器之间传文件用啥最快?rsync和scp,看完选对不踩坑

搞服务器的人,隔三差五就要在两台机器之间倒腾文件:新服务器要搬网站、数据库备份要拉到本地、日志要汇总到一台机器上分析。新手最常见的操作是先在源服务器打包下载到本地,再上传到目标服务器,绕了一大圈还慢得要命。其实服务器之间可以直接对传,最常用的两个工具就是scp和rsync。今天就把这两个家伙的脾气给你摸清楚,什么场景用哪个,一看就明白。

服务器之间传文件方法

先分清:scp是一次性的搬运工

scp就好比一次性搬运工:把文件从A搬到B,搬完就完事,干净利落。它的优点是简单直接,一条命令搞定,适合偶尔传个文件、传个压缩包这种场景。用法也简单:scp 文件 用户@服务器:路径 就是本机传到服务器,反过来把服务器文件拉下来,把位置换一下就行。要是传整个目录,加个-r参数递归。想快点就加-C参数压缩传输,文件大、带宽小的时候能省不少时间。

再说rsync:增量同步的专家

rsync跟scp最大的区别,是它会增量同步:只传输文件变化的部分,而不是整个文件重新传一遍。这个特性让它成了网站搬家、数据同步、定期备份的首选——第一次全量传完,之后每次同步只传改动的文件,第二次开始速度快得飞起。而且rsync很稳,传输中断了再跑一次会接着传,不会从头再来。命令长得跟scp有点像:rsync -av 源目录 用户@服务器:目标目录,-a是归档模式保留权限这些属性,-v是显示进度。

还有个关键区别得说清楚:rsync路径末尾的斜杠有讲究,带斜杠是把目录里的内容同步过去,不带斜杠是把目录本身也带过去,写错了目录结构就乱了,很多人栽在这,传完发现多套了一层目录,哭笑不得。传之前先想清楚要不要斜杠,别上来就敲。

服务器对传,比走本地中转强在哪

两台服务器之间传文件,正确的姿势是让它们直接对传,别经你本地电脑中转:你在本地打包下载再上传,等于数据走了两趟公网,又慢又费流量。直接对传的话,源服务器上敲rsync或者scp命令,指定目标服务器的地址就行,文件直接就过去了。中转一次都嫌多,中转两趟纯属给自己找罪受,这道理想明白,传输效率能翻好几倍。

传大文件,别忘了这几个参数

传大文件或者海量小文件的时候,有几个参数特别实用:rsync加–progress看进度,加–bwlimit限速,防止传输把带宽占满影响线上业务,这个在业务高峰期传数据时是保命参数;scp的-C压缩对文本类文件效果好,但图片视频这类已经压缩过的格式,压了也白压,还白费CPU。传完记得验证一下:两边文件数、大小对一对,重要数据传完抽查几个文件能不能正常打开,别传完了才发现文件损坏。

安全提醒:别把密码写在命令里

最后唠叨两句安全:scp和rsync默认走SSH通道,传输是加密的,这点放心。但要注意两点:一是别把密码直接写在命令行里,会留在shell历史里,别人翻历史记录就能看到你的服务器密码,正确做法是配好SSH密钥,或者让系统提示你输入密码;二是目标服务器上要放开对应的访问权限,别为了图省事把SSH对全网开放,之前讲SSH安全的时候说过,密钥登录加限制来源,才是正经玩法。

顺带说说 rsync 的增量到底怎么个算法

有人好奇rsync凭什么能只传变化的部分,简单说就是它把文件切成小块做比对,源和目标的块对得上就不传,对不上的才传。所以对那种只改了一小部分的大文件,rsync的优势特别明显——比如一个几百兆的数据库文件每天只新增几兆,用scp每天得全传一遍,用rsync每天只传新增的那点,差距就是几百兆和几兆的区别。这也是为什么备份同步类的活,老手几乎都用rsync,省的不是一点半点。

如果源和目标之间网络很差,rsync还能配合ssh代理或者走其他通道,这里不展开,知道它够灵活就行。真想深入,man rsync翻一翻,里面参数多得够你研究一阵子,日常用到的其实就那几个。

总结一句:偶尔传个文件用scp,简单直接;反复同步、搬家、备份用rsync,增量传输省时省力。两台服务器之间直接对传,别绕本地中转。把这几个工具用熟了,服务器之间倒腾文件就不再是苦差事了。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
爱家的头像爱家
关键词密度到底多少合适?别信那些玄学数字,看这篇就懂
上一篇 2026-09-08 19:14
网站一直转圈打不开?超时和卡顿的几种原因,一次说清
下一篇 2026-09-08 20:14

相关推荐

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信