Linux跨服务器复制文件夹,实用方法与技巧

admin
Linux跨服务器复制文件夹常用scp与rsync命令,scp适合小文件快速传输,语法为scp -r /local/path user@remote:/remote/path;rsync支持增量同步,适合大文件或频繁同步,通过-avz参数实现压缩、保留权限及进度显示,技巧包括:配置SSH免密登录避免重复输入密码;用-l限制带宽防网络拥堵;压缩传输可加-C参数提升效率,两者均依赖SSH协议,确保服务器间网络互通且目标路径有写入权限,实现高效安全的数据迁移。

在Linux服务器运维中,经常需要将文件夹从一台服务器复制到另一台服务器,例如数据迁移、备份、环境同步等场景,本文将介绍几种常用的跨服务器复制文件夹的方法,包括scprsyncsftp,并详细说明其使用场景、命令参数及注意事项,帮助读者根据实际需求选择最合适的方案。

前置准备:确保服务器间可正常通信

在开始复制前,需确保两台服务器之间可以通过SSH协议正常通信(以下方法均基于SSH传输),具体操作包括:

  1. 检查网络连通性:在源服务器上执行ping 目标服务器IP,确认网络可达。
  2. 开放SSH端口:默认SSH端口为22,若目标服务器修改了端口(如2222),需确保防火墙(如iptablesfirewalld)允许该端口访问。
  3. 确认用户权限:用于复制的用户需在目标服务器上有对应目录的写入权限(例如复制到/home/user/时,需确保该用户对该目录有w权限)。

方法一:使用scp(Secure Copy Protocol)——简单易用的加密复制工具

scp是基于SSH协议的文件复制工具,支持加密传输,适合小文件或一次性复制场景,无需额外安装(大多数Linux系统默认自带)。

Linux跨服务器复制文件夹,实用方法与技巧

基本语法

scp -r 源文件夹路径 用户名@目标服务器IP:目标路径
  • -r:递归复制整个目录(必选参数,否则仅能复制文件)。
  • 用户名@目标服务器IP:目标服务器的登录用户及IP地址(例如root@192.168.1.100)。
  • 目标路径:目标服务器上存放文件夹的路径(若路径不存在,会自动创建)。

示例操作

从源服务器(IP:192.168.1.10)复制/data/web文件夹到目标服务器(IP:192.168.1.100)的/backup/目录下,目标服务器用户为root

scp -r /data/web root@192.168.1.100:/backup/

执行后会提示输入目标服务器用户root的密码,验证通过后开始复制。

常用参数扩展

  • -P:指定SSH端口(若目标服务器SSH端口非22,例如2222):
    scp -r -P 2222 /data/web root@192.168.1.100:/backup/
  • -p:保留文件的权限、时间戳等属性(与-r搭配使用):
    scp -rp /data/web root@192.168.1.100:/backup/
  • -C:启用压缩传输(适合大文件或网络较慢的场景):
    scp -rC /data/web root@192.168.1.100:/backup/

优缺点

  • 优点:命令简单,无需额外配置,支持加密传输。
  • 缺点:不支持断点续传,大文件传输中断后需重新开始;无法增量同步(每次均完整复制)。

方法二:使用rsync——高效支持增量同步的工具

rsync(Remote Sync)是一款强大的文件同步工具,支持增量复制、断点续传、压缩传输,适合大文件、频繁同步场景(如数据备份、网站文件同步)。

基本语法

rsync -avz 源文件夹路径 用户名@目标服务器IP:目标路径
  • -a:归档模式,相当于-rlptgoD,保留文件权限、时间戳、所有
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

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