linux怎么从另一个服务器拷贝文件夹?,有哪些方法

从另一个服务器拷贝文件夹,Linux下最常用也最可靠的方式是 scp -r,想要断点续传或增量同步就用 rsync -avz。 这两个命令覆盖了绝大多数场景,一个简单直接,一个功能强大,下面我把我日常处理服务器迁移、备份时实际用到的操作细节全部拆开讲,照着复制就能用。

linux服务器之间拷贝文件命令详解

先明确一个基础认知:Linux服务器之间传文件,本质上就是走 SSH 通道,无论是 scp 还是 rsync,底层都依赖 SSH 协议,这意味着你只要搞定了 SSH 登录,拷贝文件夹就是顺手的事。

linux之间的文件拷贝
加载中
linux之间的文件拷贝

拷贝前的三个准备工作

动手之前,先确认三件事,能帮你避开 80% 的坑:

  • 目标服务器的 IP 地址或域名。168.1.100 或 backup.example.com。
  • 登录账号和端口,默认端口是 22,如果改过端口,比如改成了 2222,命令里必须显式加 -P 2222(注意 scp 用的是大写 P,ssh 用小写 p,这个细节坑过不少人)。
  • SSH 免密登录是否已配置,没配置的话,每次拷贝都要输密码;配置了则脚本化操作更顺手。

行业共识认为,给服务器配置 SSH 密钥登录是提升效率的第一步,生成密钥很简单:

ssh-keygen -t rsa -b 4096

一路回车,然后把你本机的公钥推送到目标服务器:

ssh-copy-id -p 端口号 用户名@服务器IP

之后再用 scp 或 rsync,就不用反复输密码了。

scp命令的完整实操

scp 是 Secure Copy 的缩写,用法跟 cp 很像,只是路径变成了 用户名@主机:路径 的格式。

从远程服务器拉取文件夹到本地

比如我想把 168.1.100 上 /var/www/html 整个目录下载到当前机器的 /home/user/backup 下:

scp -r root@192.168.1.100:/var/www/html /home/user/backup
  • -r 参数表示递归复制整个目录,不加会报错。
  • 如果目标服务器 SSH 端口不是默认的 22,用 -P 指定:
scp -P 2222 -r root@192.168.1.100:/var/www/html /home/user/backup

将本地文件夹推送到远程服务器

反向操作,把本地的 ./build 目录推送到远程服务器的 /opt/www:

scp -r ./build root@192.168.1.100:/opt/www

注意:如果远程目录 /opt/www 已经存在,scp

linux怎么从另一个服务器拷贝文件夹?,有哪些方法

会把 build 文件夹放进 /opt/www 里面,变成 /opt/www/build直接合并到 /opt/www 下,需要自己先处理目录层级,这是 scp 不如 rsync 方便的地方。

保留文件属性

拷贝网站源码或配置文件时,文件权限和时间戳很重要,加上 -p 可以保留这些属性:

scp -rp root@192.168.1.100:/etc/nginx /home/user/nginx-backup

scp的局限在哪里

scp 简单归简单,但有两个明显的短板:

  • 不支持断点续传,传了一半网络断了,重新来过,大文件时非常痛苦。
  • 不做增量同步,每次都是全量复制,哪怕远程文件夹只改了一个 1KB 的小文件,也要把整个目录重新传一遍。

当文件夹体积较大(比如超过 1GB)或者需要频繁同步时,业界主流做法是改用 rsync。

linux跨服务器复制目录的rsync方案

rsync 是 Linux 服务器之间做文件同步的瑞士军刀,它厉害的地方在于增量传输只传送源目录和目标目录之间有差异的部分,节省时间也节省带宽。

rsync基础命令

把刚才 scp 的第一个场景用 rsync 重写一遍:

rsync -avz -e ssh root@192.168.1.100:/var/www/html /home/user/backup

参数拆解:

  • -a 归档模式,表示递归复制并保留权限、时间戳、软链接等属性。
  • -v 显示详细输出,方便观察进度。
  • -z 传输时压缩,对文本类文件(代码、配置文件)效果拔群。
  • -e ssh 指定使用 SSH 作为传输通道,这是跨服务器拷贝的标准姿势。

rsync的断点续传与增量同步

这是 rsync 碾压 scp 的核心技能,传输中断后,重新执行同一条命令,它会自动跳过已传完的部分,只传剩余数据:

rsync -avzP -e ssh root@192.168.1.100:/var/www/html /home/user/backup

-P 等价于 --partial --progress,--partial 表示保留部分传输的文件,--progress 显示实时进度百分比。

场景实操:网站日志同步

假设我有两台服务器,A 是 Web 服务器,B 是日志分析服务器,每天凌晨把 A 上的日志同步到 B:

rsync -avz -e ssh --remove-source-files root@A服务器IP:/var/log/nginx/ /data/logs/nginx/

--remove-source-files 表示传输成功后删除源端的文件,避免 A 服务器磁盘被日志撑爆,这个操作非常适合

linux怎么从另一个服务器拷贝文件夹?,有哪些方法

日志集中管理的场景。

权限保留与特殊文件处理

网站迁移时,文件属主和权限错乱是常见问题。rsync 的 -a 参数已经包含了权限保留,但如果你需要明确指定属主和属组,可以加:

rsync -avz --chown=www:www -e ssh root@192.168.1.100:/var/www/html /home/user/backup

--chown=www:www 把拷贝过来的文件属主强制设为 www 用户、www 组,这在部署 PHP 或 Node.js 项目时特别实用,能避免权限不足导致的 500 错误。

只排除不想要的目录

拷贝整个站点时,node_modules、runtime 这类体积大又没用的目录应该跳过,用 --exclude 参数:

rsync -avz -e ssh --exclude='node_modules' --exclude='.git' --exclude='runtime' root@192.168.1.100:/var/www/html /home/user/backup

多个排除项可以重复使用 --exclude,也可以写进一个文件里管理:

rsync -avz -e ssh --exclude-from=/home/user/exclude-list.txt root@192.168.1.100:/var/www/html /home/user/backup

exclude-list.txt 每行写一个目录名,

node_modules
.git
runtime
.log

scp与rsync怎么选:linux服务器之间传文件哪个快

很多新手纠结这个问题,明确一个结论:数据传输速度本身差别不大,真正的差距在传输策略。

对比项 scp rsync
首次全量传输 速度相当 速度相当
增量传输 不支持 支持,只传差异部分
断点续传 不支持 支持(--partial)
权限保留 需 -p 参数 -a 参数默认保留
压缩传输 需 -C 参数 -z 参数更灵活
排除目录 不支持 --exclude 支持
适用场景 小文件夹、一次性拷贝 大目录、持续同步、迁移

什么时候用 scp:

  • 文件夹很小(几百 MB 以内),一次性操作。
  • 不想记太多参数,命令行越短越好。
  • 目标机器 SSH 版本较老,rsync 可能没装。

什么时候用 rsync:

  • 文件夹超过 1GB,网络不稳定。
  • 需要定期同步(配合 cron 定时任务)。
  • 迁移网站、数据库文件目录,需要保留权限。
  • linux怎么从另一个服务器拷贝文件夹?,有哪些方法

  • 服务器之间传文件哪个快这个问题,增量场景下 rsync 明显更快,因为传的数据量小。

我给客户做服务器迁移时,默认方案就是 rsync -avzP,稳且可控,如果客户要求最简单省事,一次性的小目录才用 scp。

定时同步的配置思路

如果你需要每天凌晨自动同步,把 rsync 命令写进脚本,配合 crontab 即可:

crontab -e

加入一行(每天凌晨 2 点执行):

0 2    /usr/bin/rsync -avzP -e ssh root@192.168.1.100:/var/www/html /home/user/backup >> /var/log/rsync-backup.log 2>&1

业内专家指出,定时增量同步是服务器备份最省钱的方案,比任何云厂商的块存储快照都灵活。

跨服务器拷贝时遇到密码问题的处理

如果不想配置 SSH 免密,也可以考虑用 sshpass 在命令中直接指定密码,但安全性较差,不推荐在生产环境使用,从安全角度考虑,建议按以下优先级选择:

  1. SSH 密钥认证(推荐)。
  2. 使用 ssh-agent 管理密钥。
  3. 仅在受信任的内网环境使用 sshpass。

配置密钥时注意文件权限,~/.ssh 目录权限应为 700,authorized_keys 文件权限应为 600,否则 SSH 服务会拒绝使用密钥登录。

常见疑问解答

拷贝文件夹时遇到权限不足怎么办

scp 或 rsync 报 Permission denied,多数情况是目标目录的写权限不够,先确认当前登录用户对目标目录是否有写权限,或者直接切换到 root 用户执行:

sudo scp -r root@192.168.1.100:/var/www/html /home/user/backup

如果目标目录属于其他用户,可以先用 chown 调整属主。

传输中断后必须从头开始吗

scp 必须从头开始,因为协议不支持断点续传。rsync 加 -P 参数后,重新执行原命令即可从断点继续,已完成的部分不会重复传输,所以大文件传输建议一律使用 rsync。

如何确认拷贝后的文件完整性

rsync 传输完成后,可以对比源目录和目标目录的校验值:

diff -r root@192.168.1.100:/var/www/html /home/user/backup

或者用 rsync 自带的 -c 参数强制校验文件内容:

rsync -avzc -e ssh root@192.168.1.100:/var/www/html /home/user/backup

-c 会逐文件计算校验值,确保内容一致,代价是速度稍慢。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/555789.html

赞 (0)
勤哲Excel服务器需要什么编程语言?,需要学什么?
上一篇 2026年8月8日 03:03
DNF登不上一直连接服务器失败怎么办,怎么回事
下一篇 2026年8月8日 03:12

相关推荐

  • RAKsmart圣何塞GPU服务器值得租吗,美国GPU云服务器推荐

    RAKsmart圣何塞GPU服务器以$449/月的价格提供双路E5-2690处理器、32G内存、1T SSD及P100显卡,是2026年兼顾性价比与AI算力需求的理想选择,尤其适合需要低延迟访问北美市场的用户,在2026年的云计算市场中,GPU算力的获取方式正经历深刻变革,对于许多独立开发者、中小型AI初创团队……

    2026年6月30日
    1610
  • iis7服务器管理工具怎么上传,具体步骤是什么

    关于IIS7服务器管理工具的上传方式,下文是直接可用的答案IIS7服务器管理工具本质上是一款可视化的远程服务器管理软件,上传文件的核心操作是通过其自带的“文件管理”功能,完成从本地电脑到远程服务器的目录映射与数据传输,全程无需打开浏览器或其他FTP客户端,IIS7服务器管理工具上传网站文件的两种通道服务器部署过……

    2026年10月17日
    100
  • Excel如何遍历单元格?VBA循环读取单元格数据

    遍历Excel单元格的核心在于利用VBA循环或Python pandas库,针对百万级数据量,VBA适合轻量级本地处理,而Python更适合复杂清洗与大规模分析,在日常办公场景中,我们常遇到需要逐行检查、批量修改或提取特定数据的任务,手动复制粘贴不仅效率低下,还容易出错,当面对成千上万行数据时,自动化遍历成为必……

    2026年7月4日
    24700
  • ajax的服务器是什么?ajax服务器返回数据格式

    “ajax的服务器”并非指某种特殊的物理硬件,而是指能够高效处理异步请求、支持JSON数据交换且具备高并发能力的后端服务架构,其核心价值在于实现页面局部刷新以提升用户体验,在传统的Web开发模式中,用户每次点击链接或提交表单,浏览器都会向服务器发送完整请求,服务器返回整个HTML页面,导致页面闪烁且加载缓慢,而……

    2026年5月30日
    3300
  • 服务器IP地址怎么修改?,服务器IP地址修改后怎么生效?

    修改服务器IP地址的方法取决于服务器类型:云服务器在控制台操作更换公网IP,独立服务器需联系机房分配新IP,本地测试服务器则在网卡配置里直接改,很多朋友第一次遇到修改服务器IP地址的需求时,第一反应是登录服务器敲几条命令,这个思路在本地虚拟机里没问题,但如果是云服务器或托管机房里的物理机,操作路径完全不同,下面……

    2026年9月23日
    100
  • 广德人脸识别门禁系统性价比高吗,广德人脸门禁哪家便宜

    在2026年的智慧安防升级浪潮中,广德人脸识别门禁系统凭借国产算力芯片的深度下沉、算法精准度的跨越式提升以及极低的综合部署成本,成为政企与社区场景中性价比极高的首选方案,2026年广德门禁市场洞察:为何性价比成为核心标尺算力平权重塑价格体系根据《2026中国智慧安防产业白皮书》披露,随着国产AI芯片的全面替代与……

    2026年4月26日
    5800
  • VPS远程桌面连接失败怎么修复,是什么原因造成的

    VPS远程桌面连接失败,通常根源在于端口未开放、防火墙阻拦或远程桌面服务未启动,按顺序排查这三个环节,就能解决绝大多数连接问题,VPS远程桌面连接不上?先检查网络与端口可达性远程桌面连接的第一步是确认网络层和端口层是通的,如果连不上,先不要急着进系统设置,从外部验证能省下不少时间,检查VPS远程桌面端口是否开放……

    2026年7月30日
    1400
  • 企业密信服务器ID忘记了怎么办,企业密信服务器ID怎么找回

    企业密信服务器id忘了不用慌,从管理后台、部署文档、客户端登录页这三个地方里找,基本都能找回来,实在找不回,就走服务商客服的验证渠道重置一次,问题不大,先弄清楚:服务器id丢了,到底丢的是什么东西很多朋友把“服务器id”和“账号”混在一起,其实完全不是一回事,密信服务器id和登录账号有什么区别账号是你登录时输入……

    2026年10月1日
    100
  • 服务器cpu多大内存合适?服务器CPU配多大内存性能最佳

    服务器CPU与内存的配置比例,核心在于业务场景的精准匹配,而非简单的“越大越好,最通用的黄金法则是1:4的CPU与内存配比,即1核CPU搭配4GB内存,这一比例能够满足绝大多数Web应用、企业级管理系统及中间件服务的运行需求,对于计算密集型任务,比例可调整为1:2;而对于缓存、数据库等内存密集型应用,比例则应扩……

    2026年3月31日
    9500
  • 服务器cpu运行记录曲线怎么看?服务器CPU使用率过高原因分析

    深入分析服务器CPU运行记录曲线,能够直观反映系统负载的健康状况与潜在瓶颈,核心结论在于:一条健康的服务器CPU运行记录曲线应当呈现出与业务周期相匹配的规律性波动,且基准负载控制在安全阈值内;任何长期的平坦直线、剧烈的锯齿状波动或持续的高位运行,都预示着系统架构、代码逻辑或资源配置存在深层隐患, 运维人员不应仅……

    2026年4月10日
    6900

发表回复

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