怎样在Linux中使用SFTP进行文件同步

145
2025/4/2 3:32:32
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Linux中,使用SFTP(SSH File Transfer Protocol)进行文件同步可以通过多种方法实现。以下是几种常见的方法:

方法一:使用rsync命令

rsync是一个非常强大的文件同步工具,可以通过SSH进行安全传输。

  1. 安装rsync(如果尚未安装):

    sudo apt-get install rsync  # Debian/Ubuntu
    sudo yum install rsync      # CentOS/RHEL
    
  2. 基本语法

    rsync -avz -e ssh /本地路径/ user@远程主机:/远程路径/
    
  3. 示例

    rsync -avz -e ssh /home/user/local_folder user@remote_host:/home/user/remote_folder
    
  4. 增量同步rsync会自动检测并只传输发生变化的文件,因此非常适合增量同步。

方法二:使用scp命令

scp(Secure Copy Protocol)也可以用于文件传输,但不如rsync灵活。

  1. 基本语法

    scp -r /本地路径/ user@远程主机:/远程路径/
    
  2. 示例

    scp -r /home/user/local_folder user@remote_host:/home/user/remote_folder
    

方法三:使用sftp命令

sftp是一个交互式的文件传输程序,可以用于手动同步文件。

  1. 连接到远程主机

    sftp user@remote_host
    
  2. 上传文件

    put /本地路径/文件名 /远程路径/
    
  3. 下载文件

    get /远程路径/文件名 /本地路径/
    
  4. 同步目录: 可以手动上传和下载文件来实现同步。

方法四:使用lftp命令

lftp是一个功能强大的文件传输工具,支持多种协议,包括SFTP。

  1. 安装lftp(如果尚未安装):

    sudo apt-get install lftp  # Debian/Ubuntu
    sudo yum install lftp      # CentOS/RHEL
    
  2. 连接到远程主机

    lftp sftp://user@remote_host
    
  3. 同步目录

    mirror --reverse --delete /本地路径/ /远程路径/
    

方法五:使用unison工具

unison是一个双向文件同步工具,支持本地到本地、本地到远程以及远程到本地的同步。

  1. 安装unison(如果尚未安装):

    sudo apt-get install unison  # Debian/Ubuntu
    sudo yum install unison      # CentOS/RHEL
    
  2. 基本语法

    unison /本地路径/ ssh://user@remote_host//远程路径/
    
  3. 示例

    unison /home/user/local_folder ssh://user@remote_host//home/user/remote_folder
    

选择适合你需求的方法进行文件同步。rsync通常是最推荐的选择,因为它提供了强大的增量同步功能和灵活性。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何监控linux cpulimit的效果