使用Node.js从SFTP服务器获取最新文件

时间:2019-07-18 13:26:30

标签: node.js ssh sftp

我需要帮助,以找到一种可行的解决方案,以了解如何使用远程SFTP服务器(可以在UNIX和Windows计算机上运行)从远程SFTP服务器下载最新(最新添加)文件。 Node.js脚本。

我已经尝试过的解决方案:

  1. 使用标准的list方法(Node.js的任何sftp库中提供),检索服务器上所有文件的列表,按时间戳排序,找到最新文件的名称,然后使用{ {1}} SFTP方法。 该解决方案的问题在于服务器最多 20k个文件,并且通过标准get方法检索其所有名称非常缓慢,我需要一个更快的解决方案。
  2. 通过list库,连接到远程服务器,执行一个示例命令(我使用了SSH2⁠-Windows计算机的响应为echo "$PATH",而UNIX计算机返回其$ PATH变量)并确定服务器的OS。确定操作系统后,我将再次通过SSH执行另一条命令,以对特定路径/位置的文件进行排序,并返回最新文件的名称(例如,对于UNIX,该命令为"$PATH")。获得文件名后,我将使用ls -t | awk \'{printf("%s",$0);exit}\' SFTP方法下载具有找到的文件名的文件。 问题:此解决方案极易出错,并且在100台服务器上对其进行测试是一项艰巨的任务。

对于任何其他解决方案,库或其他任何内容,我都需要建议。

0 个答案:

没有答案