Rsync 与 SFTP 的替代方案?

Rsync 与 SFTP 的替代方案?

我目前正在使用 SFTP 服务器,旨在将其文件夹与相应的本地目录同步。需要注意的是,我无法控制 SFTP 服务器,并且其中的文件会不断自动添加和删除。因此,我的目标是检索这些文件,而不会覆盖已传输的文件。

最初,我考虑了两种方法:

  • 手动开发脚本,结合缓存机制来跟踪已传输的文件并启动新添加文件的同步。

  • 发现一个可以简化这个过程的工具,让我考虑 rsync。

然而,我遇到了一个挑战,因为 shell 访问受到限制,而我假设 rsync 可以通过 SFTP 运行的假设被证明是错误的。下面是我尝试的 rsync 命令的示例:

rsync -av --ignore-existing \
  -e 'sshpass -p$($password) ssh -o StrictHostKeyChecking=no' \
  $username@$username:$remoteBaseDirectory/ $localBaseDirectory"

不幸的是,此命令不起作用,因为 SFTP 服务器上没有安装 rsync。

现在,我的问题是:如何建立一个可靠的同步过程,特别关注“--ignore-existing”选项,而不必从头开始构建它?

我通常在 Ubuntu 中使用 powershell,但如果需要改变环境,这也不是问题。

非常感谢,祝您有愉快的一天。

此致,

相关内容