Linux服务器间文件夹传输的实用方法详解

admin
Linux服务器间文件夹传输常用方法包括scp、rsync和sftp,scp命令简单直接,通过“scp -r /local/folder user@remote:/path”实现递归传输,适合小文件快速拷贝;rsync支持增量同步,用“rsync -avz /local/folder user@remote:/path”可压缩数据、断点续传,适合大文件和目录;sftp基于SSH安全协议,提供交互式操作,通过“sftp user@remote”登录后用put/get命令传输,三者均依赖SSH免密配置,rsync因高效和增量特性更适合大规模数据迁移,scp适合临时小文件传输,sftp则兼顾安全与交互灵活性。

在Linux服务器运维与管理中,经常需要将一台服务器上的文件夹传输到另一台服务器,例如数据迁移、日志备份、代码同步等场景,Linux环境下提供了多种高效、安全的文件夹传输方法,本文将详细介绍几种主流的实现方式,包括原理、步骤及优缺点对比,帮助读者根据实际需求选择合适的技术方案。

使用scp命令:基于SSH的简单传输

原理简介

scp(Secure Copy)是Linux系统中基于SSH协议的安全文件复制工具,通过加密传输确保数据安全性,支持递归复制整个文件夹,操作简单直观,适合小文件或一次性传输场景。

前提条件

  • 两台服务器已配置SSH互信(可通过密码或SSH密钥认证,推荐密钥认证避免频繁输入密码)。
  • 目标服务器的SSH端口(默认22)已开放,且源服务器用户对目标目录有写入权限。

操作步骤

配置SSH免密登录(可选,推荐)

在源服务器生成SSH密钥对,并将公钥传输到目标服务器:

Linux服务器间文件夹传输的实用方法详解

# 生成RSA密钥对(默认已存在可跳过)
ssh-keygen -t rsa -b 4096
# 将公钥复制到目标服务器(替换为目标服务器IP和用户)
ssh-copy-id user@目标服务器IP

执行后,源服务器通过SSH连接目标服务器时无需输入密码。

执行文件夹传输

基本语法:scp -r 源文件夹路径 用户名@目标服务器IP:目标路径

  • -r:递归复制整个文件夹(必须参数)。
  • -p:保留文件权限、时间戳等属性(可选)。
  • -P:指定SSH端口(若目标服务器非默认22端口,需大写)。

示例

# 将本机/opt/data文件夹传输到目标服务器的/home/user/目录下
scp -r /opt/data user@192.168.1.100:/home/user/

优缺点

  • 优点:无需额外安装工具(Linux系统默认自带),传输过程加密,操作简单。
  • 缺点:不支持断点续传,大文件传输中断需重新开始;传输过程中无法实时查看进度(需结合-v参数查看详细日志)。

使用rsync命令:高效增量同步

原理简介

rsync(Remote Sync)是一款远程数据同步工具,通过“增量传输”机制(仅同步变化的部分文件)大幅提升传输效率,尤其适合大文件或频繁同步场景,支持压缩、断点续传、权限保留等功能,是服务器间数据同步的首选工具。

前提条件

  • 两台服务器已安装rsync(多数Linux系统默认安装,可通过rsync --version检查;若未安装,Ubuntu/
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码