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