如何用Linux SFTP进行文件同步

如何用Linux SFTP进行文件同步

利用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 /本地目录/ 用户@远程地址:/远程目录/
    • -a:存档模式,意味着递归传输并保留符号链接、权限、时间戳等。
    • -v:详尽模式,展示同步的详细步骤。
    • -z:在传输过程中压缩文件数据。
    • -e ssh:指定采用SSH协议进行传输。
  3. 增量同步: rsync默认即为增量同步,仅传输发生变化的文件。

  4. 定时同步: 能够利用cron定时任务来定期运行同步指令。例如,每小时同步一次:

     crontab -e

    添加如下内容:

     0 * * * * rsync -avz -e ssh /本地目录/ 用户@远程地址:/远程目录/

方法二:运用lftp指令

lftp是一款功能丰富的文件传输工具,它支持SFTP协议。

  1. 安装lftp(若未安装的话):

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

     lftp -e 'mirror --reverse --delete /本地目录/ 用户@远程地址:/远程目录/; quit'
    • mirror:镜像目录,–reverse表示从本地到远程,–delete表示移除远程目录中本地缺失的文件。

方法三:利用sftp指令手动同步

尽管不如rsync便捷,但也能通过sftp手动完成文件同步。

  1. 连接至远程主机

     sftp 用户@远程地址
  2. 上传文件

     put /本地目录/文件名 /远程目录/
  3. 下载文件

     get /远程目录/文件名 /本地目录/
  4. 退出

     exit

注意事项

  • 确保远程主机的SSH服务已开启且可访问。
  • 使用rsync时,留意路径准确性和权限配置。
  • 定时任务需慎重设定,防止频繁同步引发网络拥堵。

通过上述方式,你能够轻松地运用Linux SFTP完成文件同步。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享