linux

如何用Linux SFTP进行文件同步

小樊
44
2025-05-16 08:44:36
栏目: 智能运维

使用Linux SFTP进行文件同步可以通过多种方法实现,以下是几种常见的方法:

方法一:使用rsync命令

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

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

    sudo apt-get install rsync  # Debian/Ubuntu
    sudo yum install rsync      # CentOS/RHEL
    
  2. 基本同步命令

    rsync -avz -e ssh /本地路径/ user@远程主机:/远程路径/
    
    • -a:归档模式,表示递归传输并保持符号链接、文件权限、时间戳等。
    • -v:详细模式,显示详细的同步过程。
    • -z:压缩文件数据在传输过程中。
    • -e ssh:指定使用SSH协议进行传输。
  3. 增量同步rsync默认就是增量同步,只会传输发生变化的文件。

  4. 定时同步: 可以使用cron定时任务来定期执行同步命令。例如,每小时同步一次:

    crontab -e
    

    添加以下行:

    0 * * * * rsync -avz -e ssh /本地路径/ user@远程主机:/远程路径/
    

方法二:使用lftp命令

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

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

    sudo apt-get install lftp  # Debian/Ubuntu
    sudo yum install lftp      # CentOS/RHEL
    
  2. 基本同步命令

    lftp -e 'mirror --reverse --delete /本地路径/ user@远程主机:/远程路径/; quit'
    
    • mirror:镜像目录,--reverse表示从本地到远程,--delete表示删除远程目录中本地不存在的文件。

方法三:使用sftp命令手动同步

虽然不如rsync方便,但也可以手动使用sftp进行文件同步。

  1. 连接到远程主机

    sftp user@远程主机
    
  2. 上传文件

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

    get /远程路径/文件名 /本地路径/
    
  4. 退出

    exit
    

注意事项

通过以上方法,你可以方便地使用Linux SFTP进行文件同步。

0
看了该问题的人还看了