使用 SFTP 将用户上传文件上传到网络服务器?

使用 SFTP 将用户上传文件上传到网络服务器?

我查看了一个 CDN,发现我需要使用 SFTP 来上传文件。使用 sftp 并不难,但我如何连续上传文件?我的 webapp 当前将应用程序放在 /uploads/type/01/02/03/04/05/06/07/08.ext 中,文件 id 为 0x0102030405060708

我如何上传这些文件?每次用户上传文件时我是否都要启动 sftp?是否有某种守护进程模式可用于监控我何时将某些内容添加到上传并在其上使用 sftp?我曾考虑使用 cron,但我不想每次都检查是否存在数千个文件。此外,当连接终止时会发生什么(假设我出于维护原因重新启动服务器)。我不知道什么是让一切正常运行的最简单方法。

如何

答案1

rsync是与远程站点同步大量文件的绝佳工具。

rsync通过 ssh 运行,因此如果您有 sftp 访问您的服务器,它就会工作。对于从 cron 作业运行的自动同步,您需要设置ssh 公钥认证这样 ssh 连接就不会提示输入密码。

答案2

您是否考虑过通过 crontab 条目使用 rdist?

答案3

您的 Web 应用程序在什么平台上运行?

如果是 Linux(或者一般是 *NIX),那么rsync或者rdist是好的解决方案。

如果是 Windows 系统,我建议你使用一些可以观察并保持整个文件夹树同步的同步解决方案,比如 Syncovery(https://www.syncovery.com/),这是我个人最喜欢的。但还有很多选择,比如 GoodSync、BestSync、AllWaySync,仅举几例。

相关内容