Linux实现两个服务器之间传递文件

 更新时间:2026年05月17日 10:00:05   作者:一直到老到直一  
本文介绍了Linux环境中使用scp、rsync、sftp及SSH隧道+Tar/Gzip四种常用方法在两服务器间传输文件,并举例说明了每种方法的具体使用方式和适用场景

在Linux环境中,想在两个服务器之间传递文件时,有几种常用的方法可以实现这一点。这些方法包括使用scp(安全复制)、rsync(远程同步)、sftp(安全文件传输程序)以及通过SSH隧道传输文件。以下是一些常见的方法及其使用示例:

1. 使用SCP(Secure Copy)

scp是最常用的方法之一,它基于SSH协议来安全地复制文件。可以从本地服务器复制到远程服务器,或者从远程服务器复制到本地服务器。

  • 从本地复制到远程:

scp /path/to/local/file username@remote_server:/path/to/remote/directory/
  • 从远程复制到本地:
scp username@remote_server:/path/to/remote/file /path/to/local/directory/

2. 使用RSYNC(Remote Sync)

rsync是一个用于文件同步和复制的工具,它特别适用于需要增量传输的情况(即只传输文件之间的差异部分)。rsync也通过SSH来提供安全的数据传输。

  • 从本地复制到远程(并同步):

rsync -avz /path/to/local/directory/ username@remote_server:/path/to/remote/directory/
  • 从远程复制到本地(并同步):
rsync -avz username@remote_server:/path/to/remote/directory/ /path/to/local/directory/

3. 使用SFTP(SSH File Transfer Protocol)

sftp是一个基于SSH的文件传输协议。它允许使用FTP那样交互式地传输文件,但所有的传输都通过SSH加密。

  • 使用sftp连接到远程服务器:

sftp username@remote_server

之后,可以在sftp提示符下使用putget命令来上传和下载文件。

4. 通过SSH隧道和Tar/Gzip

如果需要传输大量数据并且想要压缩数据以减少传输时间,可以通过SSH隧道使用targzip命令。

  • 在本地打包并压缩文件,然后通过SSH发送到远程服务器:

tar czf - /path/to/local/directory/ | ssh username@remote_server 'cat > /path/to/remote/directory/archive.tar.gz'
  • 从远程服务器下载压缩包并解压:
ssh username@remote_server 'tar czf - /path/to/remote/directory/' | tar xzf - -C /path/to/local/directory/

每种方法都有其适用场景。

例如,如果只是偶尔需要复制文件,scp可能是一个简单的选择。

如果需要定期同步大量数据,rsync可能更合适。

sftp提供了更灵活的文件传输方式,而通过SSH隧道和tar/gzip的组合则可以在传输前压缩数据,以减少传输时间和带宽使用。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux通过vim修改Jar包并重新发布过程(Springboot项目)

    Linux通过vim修改Jar包并重新发布过程(Springboot项目)

    本文介绍了如何修改Springboot项目的jar包中的单个文件,包括安装unzip、修改文件、重新发布jar包等步骤,并说明了在使用thymeleaf时清除浏览器缓存的必要性
    2026-04-04
  • Centos7/RHEL7双网卡绑定的方法

    Centos7/RHEL7双网卡绑定的方法

    本篇文章主要介绍了Centos7/RHEL7双网卡绑定的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Linux安装mysql报错NOKEY的解决过程

    Linux安装mysql报错NOKEY的解决过程

    在CentOS 7系统下安装MySQL 5.7时,由于yum安装了旧版本的GPG keys导致报错, 经分析后,发现原因,解决办法是在安装脚本后面加上--force--nodeps, 这篇文章总结了作者的个人经验,希望能给大家提供参考
    2026-05-05
  • 让DOSBox启动后自动执行命令的方法讲解

    让DOSBox启动后自动执行命令的方法讲解

    今天小编就为大家分享一篇关于让DOSBox启动后自动执行命令的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Linux 文件和目录权限详细介绍

    Linux 文件和目录权限详细介绍

    这篇文章主要介绍了Linux 文件和目录权限详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • Linux 创建修改删除用户和组的方法

    Linux 创建修改删除用户和组的方法

    这篇文章主要介绍了Linux 创建修改删除用户和组的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 在Linux中使用tcpdump命令捕获与分析数据包详解

    在Linux中使用tcpdump命令捕获与分析数据包详解

    tcpdump 是linux系统中提供的一个命令行工具,可以将网络中传送的数据包完全截获下来,提供网络数据分析。下面这篇文章主要给大家介绍了关于如何在Linux中使用tcpdump命令捕获与分析数据包的相关资料,需要的朋友可以参考下
    2018-09-09
  • CentOS 5.4 服务器配置 yum安装Apache+php+Mysql

    CentOS 5.4 服务器配置 yum安装Apache+php+Mysql

    Centos 里的 yum 在线安装很慢.以下是替换为中国CentOS镜像服务器!
    2010-03-03
  • 在Ubuntu20.04 LTS中配置Java开发环境

    在Ubuntu20.04 LTS中配置Java开发环境

    这篇文章主要介绍了在Ubuntu20.04 LTS中配置Java开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 浅析centos 7 自带的 php 5.4升级为 5.6的方法

    浅析centos 7 自带的 php 5.4升级为 5.6的方法

    这篇文章主要介绍了centos 7 自带的 php 5.4升级为 5.6的方法,需要的朋友可以参考下
    2018-12-12

最新评论