怎样往VPS传文件夹?5种常用方法详细教程

怎样往VPS上传文件夹?有哪些方法可以实现?

怎样往VPS传文件夹?5种常用方法详细教程


在远程服务器管理过程中,将本地文件夹传输到VPS是常见需求。本文将介绍5种主流传输方法,包括SCP、SFTP、Rsync、FTP和云存储同步,帮助您根据实际场景选择最适合的方案。

一、使用SCP命令传输文件夹


SCP(Secure Copy)是基于SS协议的安全文件传输工具,适合命令行操作环境。

  1. 基本语法:


   scp -r /本地/文件夹路径 用户名@VPSIP:/远程/目标路径


  • -r参数表示递归传输整个文件夹

  • 首次连接需要确认服务器指纹



  1. 使用密钥认证:


   scp -i ~/.ssh/私钥.pem -r /本地/文件夹路径 用户名@VPSIP:/远程/目标路径


  • -i指定SSH私钥文件

  • 比密码认证更安全



  1. 传输速度优化:


   scp -C -r -o Compression=yes 文件夹路径 目标路径


  • -C启用压缩传输

  • 大文件传输时可节省带宽


二、通过SFTP图形化工具传输


SFTP(SSH File Transfer Protocol)提供交互式文件管理界面,适合不习惯命令行的用户。

  1. 推荐工具:



  • FileZilla(Windows/macOS/Linux)

  • WinSCP(Windows)

  • Cyberduck(macOS)



  1. 连接设置步骤:



  • 协议选择SFTP over SSH

  • 主机填写VPS公网IP

  • 端口默认22(修改过则填自定义端口)

  • 认证方式选择密码或密钥文件



  1. 传输操作:



  • 左侧窗口浏览本地文件系统

  • 右侧窗口浏览VPS文件系统

  • 拖放文件夹即可开始传输


三、Rsync增量同步方案


Rsync是专业的文件同步工具,特别适合需要定期更新的场景。

  1. 基本同步命令:


   rsync -avz --delete /本地/文件夹路径 用户名@VPSIP:/远程/目标路径


  • -a归档模式(保留文件属性)

  • -v显示详细过程

  • -z压缩传输

  • --delete删除目标端多余文件



  1. 定时同步配置:


   crontab -e

添加定时任务(每天凌晨3点同步):
   0 3   * /usr/bin/rsync -avz /本地/文件夹路径 用户名@VPSIP:/远程/目标路径


  1. 排除特定文件:


   rsync -avz --exclude='*.tmp' --exclude='temp/' 文件夹路径 目标路径

四、FTP服务器传输方案


对于需要多人访问的场景,可以搭建FTP服务器实现文件共享。

  1. 安装vsftpd(Ubuntu/Debian):


   sudo apt update
sudo apt install vsftpd


  1. 配置用户权限:


   sudo adduser ftpuser
sudo usermod -d /home/ftpuser -s /bin/bash ftpuser


  1. 客户端连接:



  • 使用FileZilla等FTP客户端

  • 协议选择FTP(非加密)或FTPS(加密)

  • 端口默认21(修改过则填自定义端口)


五、云存储同步方案


如果VPS和本地都连接了云存储服务,可以通过云端中转。

  1. 推荐工具:



  • rclone(支持多种云服务)

  • Syncthing(P2P同步)



  1. rclone配置示例:


   rclone sync /本地/文件夹路径 remote:VPS/目标路径


  • 需要先配置云服务连接信息

  • 支持断点续传


常见问题解答


1. 传输速度慢怎么办?

  • 检查本地网络带宽

  • 尝试更换传输协议(如SCP改用Rsync)

  • 在非高峰时段传输

  • 启用压缩选项(SCP的-C或Rsync的-z


2. 传输中断如何续传?

  • SCP/FTP:重新执行命令

  • Rsync:自动续传

  • 使用rsync --partial保留部分传输文件


3. 如何验证文件完整性?

  • 传输前后计算MD5校验和:


  md5sum /本地/文件路径
ssh 用户名@VPSIP "md5sum /远程/文件路径"

4. 大文件夹传输失败?

  • 分批次传输子文件夹

  • 增加SSH超时设置:


  ssh -o ServerAliveInterval=60 用户名@VPSIP


  • 检查VPS磁盘空间:df -h

发表评论

评论列表