Linux怎么拷贝文件到另一台服务器?,用什么命令?

用 scp 和 rsync 完成跨服务器文件拷贝

把文件从一台 Linux 服务器拷贝到另一台,最直接的方法是使用 scp 命令,数据量大的场景用 rsync 更稳。这两款命令都是 Linux 系统内置的远程拷贝工具,一个字节一个字节地把文件从源机器搬到目标机器,不需要中间介质,也不需要额外安装图形界面。

Linux 服务器之间拷贝文件有哪些常用命令

在服务器运维和开发部署场景里,每一台机器都是一个独立的文件岛屿。服务器迁移文件是个高频需求,比如新环境部署、日志归档、备份同步,动手之前先理清楚三款主流工具的差异。

Linux系统,查看可执行程序依赖并转储到其他文件夹,拷贝到其他服务器去使用
加载中
Linux系统,查看可执行程序依赖并转储到其他文件夹,拷贝到其他服务器去使用
工具 适用场景 特点 备注
scp 单次拷贝、少量文件 简单直接,加密传输 无法断点续传
rsync 大文件、增量同步 支持断点续传,只传差异部分 需额外确认两端已安装
sftp 交互式操作 适合手动静默操作 类似 FTP 但走 SSH

行业共识认为,scp 是入门首选,rsync 是生产环境主力,下面拆开讲。

用 scp 命令实现 Linux 拷贝到远程服务器

scp 全称 secure copy,基于 SSH 协议加密传输,它的语法和 cp 类似,只是多了一个远程主机的前缀。

从本机拷到远程服务器的基础用法

把当前目录下的 backup.tar.gz 推到远程服务器的 /data 目录下:

scp backup.tar.gz root@192.168.1.100:/data/

这一条命令里,root 是目标机器的登录用户名,168.1.100 是目标机器的 IP 地址,冒号后面跟着目标路径,执行后会提示输入密码,输入正确即开始传输。

从远程服务器拉到本机的操作

反向操作,把远程服务器上的文件下载到本地:

scp root@192.168.1.100:/data/access.log /root/local_backup/

注意顺序:远端地址写在前面,本地路径写在后面,这个方向容易搞混,但记住一个规律scp 的语法永远是“来源在前,目标在后”。

递归拷贝整个文件夹

scp 不加参数时只能拷文件,拷贝目录必须加 -r:

scp -r /opt/webapp/ root@192.168.1.100:/opt/

-r 表示 recursive,遍历整个目录结构,实际执行时,如果目录里有大量小文件,scp 会逐文件建立连接,速度较慢,这时候建议改用 rsync。

指定端口和 SSH 密钥

有些服务器出于安全考虑,SSH 端口不是默认的 22,用

Linux怎么拷贝文件到另一台服务器?,用什么命令?

-P 指定端口,注意是大写:

scp -P 2222 file.txt user@server.com:/tmp/

如果已经配置了 SSH 免密钥登录,scp 会自动使用密钥认证,不再询问密码,这对脚本化自动拷贝至关重要。

scp 的痛点:中断了就得重来

scp 没有断点续传的能力,拷一个 20G 的数据库备份文件,网络抖了一下,整个文件就得从头再传,这是 scp 最让人抓狂的地方,也是为什么生产环境更推荐 rsync 的原因。

rsync:Linux 服务器间大文件拷贝的稳定方案

rsync 同样基于 SSH 协议,但它的设计哲学完全不同,rsync 核心优势是增量传输只发送源文件和目标文件不一致的部分,已经存在且相同的块直接跳过。

基本拷贝命令

rsync -avz /data/app/ root@192.168.1.100:/data/app/

拆解参数:

  • -a:归档模式,保留权限、时间戳、软链接等属性
  • -v:显示进度信息
  • -z:传输时压缩,适合文本类文件

加上 --progress 可以实时看到传输百分比和速度:

rsync -avz --progress /data/app/ root@192.168.1.100:/data/app/

断点续传:rsync 碾压 scp 的关键能力

rsync 天然支持断点续传,即使传输中途断线,重新执行同一条命令,它会从上次中断的位置继续,而不是从头再来,这个特性在跨机房传输大文件时尤为重要。

增量同步:两台服务器保持目录状态一致

rsync 的 --delete 参数让目标目录严格镜像源目录源端删了的文件,目标端也删除,这在做代码发布和多机同步时非常实用:

rsync -avz --delete /var/www/html/ root@server2:/var/www/html/

限速传输避免占用业务带宽

生产服务器上,带宽资源金贵,rsync 提供 --bwlimit 参数限速,比如限制为 5MB/s:

rsync -avz --bwlimit=5120 /backup/ root@server2:/backup/

5120 的单位是 KB/s,即每秒约 5MB。

常用 rsync 组合技巧

  • 加 --exclude 排除不需要同步的目录:--exclude='cache/' --exclude='.tmp'
  • 加 -e 'ssh -p 2222' 指定 SSH 端口
  • 加 --dry-run 试运行,不实际传输,只显示会执行哪些操作
rsync -avz --dry-run /data/ root@server2:/data/

试运行是个极好的习惯,大规模操作之前先跑一遍 dry-run,确认无误再去掉该参数正式执行。

Linux 服务器之间免密拷贝配置方法与权限陷阱

Linux怎么拷贝文件到另一台服务器?,用什么命令?

每次拷贝都输密码,既麻烦又难以自动化,配置 SSH 密钥免密登录是正规做法。

免密登录配置三步走

第一步,在源机器生成密钥对:

ssh-keygen -t rsa -b 4096

一路回车即可,默认生成在 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。

第二步,把公钥推送到目标机器:

ssh-copy-id root@192.168.1.100

该命令会将本机公钥追加到目标机器的 ~/.ssh/authorized_keys 文件中。

第三步,验证免密是否生效:

ssh root@192.168.1.100

能直接登进去,说明配置成功,scp 和 rsync 也可以免密使用了。

常见报错与解决

Permission denied (publickey,password):绝大多数情况是目标机器 ~/.ssh 目录权限不对。authorized_keys 文件权限应为 600,.ssh 目录权限应为 700:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

host key verification failed:首次连接远程主机时会出现这个提示,输入 yes 确认即可,批量部署场景可在 ssh 命令加 -o StrictHostKeyChecking=no 跳过确认。

scp 拷过去文件属主不对:远程机器的用户名和本机不同,拷过去文件的属主会变成目标机器的登录用户,需要使用 -p 参数保留时间戳,或者传输后执行 chown 调整属主。

什么情况下选择 sftp 交互式传输

sftp 适合少量、临时性、需要手动浏览目录的传输场景,登录命令:

sftp root@192.168.1.100

登录成功后进入交互界面,操作用命令:

  • ls:查看远端目录
  • lcd 和 cd:切换本地/远端目录
  • put filename:上传文件
  • get filename:下载文件
  • bye 或 exit:退出

业内专家指出,sftp 在日常维护中更多用于单文件应急处理,自动化运维脚本里很少出现它的身影,如果你要写脚本定时传输,scp 和 rsync 才是正解。

结合应用场景挑选适合的拷贝方式

首次部署新服务器,代码包加配置文件总共不到 500M,一次性拷贝

直接用 scp,一条命令解决,不需要额外思考。

scp -r /project/build/ root@新服务器IP:/opt/project/

多台同配置服务器保持数据一致,且每天定时执行

必须用 rsync,结合 cron 定时任务:

Linux怎么拷贝文件到另一台服务器?,用什么命令?

30 2    rsync -avz --delete /data/sync/ root@server2:/data/sync/

定时增量同步,稳定高效。

数据库备份文件 50G,跨机房传输,随时可能断线

rsync 加断点续传加限速:

rsync -avz --progress --bwlimit=20480 /backup/db_$(date +%F).sql root@server2:/backup/

结合 --partial 参数,即使中断,部分传输的文件也不会被删除,下次执行会从中断点继续。

服务器迁移或内容初始化,需要把整块磁盘分区数据搬到新机器

rsync 加 -a 参数并把源和目标指向分区挂载点:

rsync -avx / /mnt/new_disk/

-x 表示不跨越文件系统边界,避免把 /proc、/sys 之类的虚拟文件系统一并拷贝。

实操时容易忽略的几个细节

拷贝大文件前先检查磁盘空间,执行 df -h 看目标机器的可用空间,否则传到一半磁盘满了,既浪费带宽又留下残缺文件。

长传过程中终端断开了也不要慌,用 nohup 或 screen/tmux 把命令放到后台执行,终端断开不影响传输:

nohup rsync -avz /data/ root@server2:/data/ > rsync.log 2>&1 &

传完以后做校验,简单的校验是对比文件大小和 md5 值:

md5sum filename

源机器和目标机器各执行一次,结果一致说明文件完整,也可用 rsync 的 -c(checksum)参数跳过时间戳差异,直接校验内容一致性。

常见问题解答

scp 和 rsync 到底选哪个

单次小文件传输选 scp;大文件、增量同步、断点续传、定时任务选 rsync,rsync 功能是 scp 的超集,但命令参数更多,学习曲线稍陡。

rsync 断点续传具体怎么操作

传输中断后,直接重新执行原命令,rsync 默认会对比源和目标文件的块信息,跳过已传输完成的部分,无需额外加参数,配合 --partial 可以确保中断时留下的部分文件不被自动清理。

两台服务器都在内网,带宽受限,如何加快拷贝速度

先用 ping 测延迟,再用 iperf3 测实际带宽,如果网络本身没问题,rsync 加 -z 压缩参数能显著减少文本类文件的传输量,加 --bwlimit 防止占满带宽影响其他服务。

无论用 scp 还是 rsync,核心原则不变:先小文件试通,再跑大任务;先 dry-run 验证,再正式执行,跨服务器拷贝是 Linux 管理的日常操作,掌握这两把工具,文件传输不再是难题。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e6%80%8e%e4%b9%88%e6%8b%b7%e8%b4%9d%e6%96%87%e4%bb%b6%e5%88%b0%e5%8f%a6%e4%b8%80%e5%8f%b0%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%9f%ef%bc%8c%e7%94%a8%e4%bb%80%e4%b9%88%e5%91%bd%e4%bb%a4%ef%bc%9f/

赞 (0)
UDP如何区分客户端和服务器发送的数据,什么是UDP协议
上一篇 2026年9月29日 00:26
ios我的世界1.17服务器材质包怎么装,哪里下载?
下一篇 2026年9月29日 00:26

相关推荐

  • 服务器bios怎么设置?服务器bios设置图解教程

    服务器BIOS设置图解教程:高效、精准、可复现的配置实践在服务器运维中,BIOS是系统启动与硬件初始化的第一道关卡,其配置直接影响服务器性能、稳定性与安全性,一次规范的BIOS设置,可避免70%以上的底层硬件兼容性问题,本文基于主流厂商(Dell PowerEdge、HPE ProLiant、Huawei Eu……

    2026年4月14日
    9300
  • 局域网内FTP服务器如何访问公网,怎么设置端口映射

    局域网内的FTP服务器想出公网,最实用可靠的路线只有两条:有公网IPv4就做路由器端口映射加DDNS,没有公网IP就用内网穿透工具(如frp或花生壳),前者稳定且免费,后者灵活但依赖第三方服务器,下面把这两条路的具体走法、坑点和适用场景拆开讲清楚,先搞清楚你的网络有没有公网IP这是个分水岭,多数人家里的宽带是运……

    2026年10月14日
    000
  • ajax注册插入数据库失败怎么办?php实现用户注册登录功能

    AJAX实现无刷新注册并插入数据库,核心在于前端通过JavaScript构造异步请求,后端接收JSON数据后执行SQL插入操作,最后返回状态码供前端处理,整个过程无需页面跳转,用户体验流畅且服务器负载更低,在传统Web开发中,用户注册往往意味着页面的重新加载,这种机制不仅浪费带宽,还容易让用户在等待中失去耐心……

    2026年6月1日
    3700
  • 服务器如何接收安卓客户端请求?安卓客户端请求服务器超时怎么办

    安卓客户端发送请求安卓客户端通过 HTTP 或 HTTPS 协议向服务器发送请求,常见的请求方式包括:GET:用于获取数据,POST:用于提交数据,PUT/DELETE:用于更新或删除数据,示例:使用 OkHttp 发送 POST 请求import okhttp3.*;import java.io.IOExce……

    2026年7月12日
    17000
  • 美国VPS测评,实测体验与数据对比,美国VPS哪家好用,美国VPS推荐

    2026 年美国 VPS 测评结论:针对跨境电商与 AI 算力需求,建议选择具备独立 IP 且提供 NVMe 固态存储的 T3 级数据中心方案,其综合性价比与稳定性显著优于传统共享型架构,在 2026 年,美国 VPS 市场已从单纯的价格竞争转向“算力密度 + 网络质量”的双重博弈,随着全球 AI 模型推理需求……

    2026年5月12日
    8700
  • DNF频繁连接服务器失败怎么办,是什么原因导致的?

    DNF连接服务器失败,原因多出在本地网络、游戏客户端或官方服务器三方面,按照从软件到硬件、从本地到官方的顺序排查,大部分情况都能自己解决,DNF连接服务器失败是什么原因很多玩家会遇到同一个问题:明明宽带正常,网页刷得飞快,唯独DNF死活登不上去,频道列表空白、选区超时、角色读条卡死,这些都是连接失败的典型表现……

    2026年10月11日
    400
  • AI能存储PSD文件吗,AI设计软件怎么保存PSD

    AI技术正在重塑设计资产管理的工作流,核心结论在于:通过引入人工智能技术,PSD文件的存储已不再局限于简单的空间堆叠,而是转变为一种智能化的资产压缩、自动分类与云端协同体系,这种转变不仅解决了大文件占用本地空间的痛点,更通过深度学习算法实现了设计素材的高效检索与版本控制,极大提升了设计团队的生产力, 传统PSD……

    2026年2月27日
    13700
  • 服务器e5双路单路怎么区分,有哪些判断方法?

    区分服务器E5是双路还是单路,最直接的方法是查看主板上CPU插槽的数量,以及在操作系统中识别物理CPU的个数:双路就是主板上装了两颗E5处理器,单路只装一颗,服务器E5双路和单路有什么区别?先分清物理CPU和逻辑核心E5是Intel Xeon E5系列处理器的简称,常见的有v3、v4等版本,在二手市场和企业淘汰……

    2026年9月24日
    000
  • ASP一般复选框如何实现?掌握复选框应用技巧轻松提升用户体验

    在ASP(Active Server Pages)中,复选框(Checkbox)是表单中用于允许用户进行多项选择的HTML控件,其核心在于通过<input type=”checkbox”>标签定义,并在服务器端使用ASP的Request.Form集合来获取用户选中的值,处理的关键是理解复选框的nam……

    2026年2月7日
    13100
  • AIoT平台战略定位是什么?如何搭建企业级AIoT平台

    AIoT平台的核心战略定位已从单纯的“设备连接工具”升级为“数据智能中枢”,其终极目标是打通物理世界与数字世界的壁垒,通过边缘计算与云端协同,实现从“感知”到“决策”的闭环自动化,过去几年,我们常听到企业抱怨物联网项目“建得快、用得慢”,甚至沦为昂贵的数据孤岛,这背后的根本原因,在于早期AIoT平台过于侧重硬件……

    2026年6月17日
    3000

发表回复

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