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

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

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

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

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

拷贝前的三个准备工作

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

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

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

ssh-keygen -t rsa -b 4096

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

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

之后再用 scprsync,就不用反复输密码了。

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_modulesruntime 这类体积大又没用的目录应该跳过,用 --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 服务会拒绝使用密钥登录。

常见疑问解答

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

scprsyncPermission 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

相关推荐

  • 广州虚拟主机怎么安装wdcp,wdcp面板安装教程步骤

    在广州节点虚拟主机环境中安装WDCP面板,本质是通过VPS/云服务器重塑底层权限,以实现比传统共享虚拟主机更高效的可视化运维与网站管理,广州虚拟主机与WDCP的适配逻辑传统虚拟主机的地域瓶颈华南地区的外贸与本土企业常面临传统共享虚拟主机的权限制约,2026年IDC行业数据显示,超过68%的广州中小企业在建站半年……

    2026年4月27日
    6300
  • AI应用管理怎么租,租用AI应用管理平台需要多少钱?

    企业在引入人工智能技术时,核心结论在于:AI应用管理的租赁并非简单的软件购买,而是一场基于业务场景、数据安全等级与成本控制能力的战略采购, 成功的租赁方案必须建立在明确需求边界、精准匹配部署模式(SaaS与私有化)、以及严格评估供应商技术实力的基础之上,只有构建了具备高可扩展性、强安全合规性的管理体系,企业才能……

    2026年2月23日
    16800
  • AIoT时代机会有哪些?AIoT行业发展前景怎么样

    AIoT时代的核心机会在于“智能”与“互联”的深度融合,这一趋势正从单一的技术创新转向全场景的产业落地,企业若想在这一浪潮中突围,关键在于打通数据孤岛,实现从“万物互联”到“万物智联”的跨越,利用边缘计算与AI算法重塑业务流程,创造全新的商业价值,这不仅是技术的升级,更是商业模式的重构,技术融合驱动产业变革AI……

    2026年3月20日
    10900
  • 服务器返回530错误是什么原因?服务器530错误怎么解决

    服务器530错误是FTP/SFTP连接中常见的身份验证失败问题,核心表现为客户端无法登录服务器,返回错误代码530(Non-Zero Return Code),通常提示“Login incorrect”或“530 Login authentication failed”,该错误虽不涉及服务器宕机或网络中断,却直……

    2026年4月15日
    10100
  • 广州驾校人脸识别系统怎么用?驾校打卡人脸识别设备有哪些

    2026年广州驾校人脸识别系统已全面升级为“端云双验+活体检测”的智能监管中枢,是驾校通过交管验收、杜绝学时造假、实现降本增效的必备基建,2026监管新态:为何广州驾校必须升级人脸识别?政策倒逼:从“单点打卡”到“全链溯源”依据交通运输部及广州市交管局2026年最新规范,驾培监管已全面接入省级驾驶培训监管服务平……

    2026年4月27日
    5600
  • HostSailor美国荷兰VPS测评,HostSailor VPS性能怎么样

    HostSailor美国与荷兰VPS在2026年的实测结论是:美国节点凭借低延迟与高性价比适合国内建站及游戏加速,荷兰节点则以中立网络架构和强隐私保护成为跨境电商与数据合规场景的首选,两者均展现出优于同价位竞品的稳定性,在2026年的VPS市场,价格战已逐渐让位于“性能-合规-网络质量”的综合博弈,HostSa……

    2026年5月14日
    5500
  • AI智能学习开发入门教程,如何用AI开发智能学习系统?

    AI智能学习开发:驱动智能进化的核心技术体系AI智能学习开发是指通过机器学习、深度学习等人工智能技术,构建能够从数据中自动学习、优化并做出智能决策或预测的系统或应用的完整过程,它不仅是算法和模型的堆砌,更是融合了数据工程、模型设计、训练优化、部署监控及持续迭代的系统性工程实践,AI智能学习开发的核心要素数据驱动……

    2026年2月15日
    14100
  • AIoT组网是什么意思,AIoT组网方案如何选择

    AIoT组网的核心在于构建一个具备“感知智能”与“连接智能”深度融合的分布式网络架构,其终极目标是实现设备自发现、网络自愈合以及数据的安全闭环,从而将传统的“哑终端”升级为具备边缘计算能力的智能节点,这一过程不仅仅是简单的设备联网,而是通过边缘计算、AI算法与通信协议的深度协同,解决传统物联网碎片化严重、响应延……

    2026年3月22日
    10400
  • OneTechCloud易科云春季促销VPS月付季付打几折?美国CN2 GIA高防VPS推荐

    OneTechCloud易科云春季促销期间,选择月付享9折、季付享8折的优惠,并结合美国CN2 GIA或香港CN2等高带宽线路,是平衡成本与网络稳定性的最优解,在2026年的云计算市场,单纯的价格战已不再是用户决策的唯一标准,随着全球网络环境的复杂化,延迟、丢包率以及IP纯净度成为衡量VPS主机质量的核心指标……

    2026年6月26日
    1800
  • ajax返回值js乱码怎么办?ajax返回中文乱码解决方法

    AJAX返回值出现JS乱码的核心原因是服务器响应头Content-Type编码设置与前端解析编码不一致,通常通过统一设置为UTF-8并检查BOM头即可彻底解决,在Web开发中,前后端数据交互是日常操作,但AJAX请求返回数据时出现乱码,往往让开发者排查半天,这不仅仅是字符显示问题,更涉及HTTP协议底层的数据传……

    2026年5月30日
    4400

发表回复

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