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密钥对,并将公钥传输到目标服务器:

# 生成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原创文章,转载或复制请以超链接形式并注明出处。

