Python 从客户端请求服务器文件的递归列表

Python 从客户端请求服务器文件的递归列表,python,smb,fileserver,Python,Smb,Fileserver,我需要定期(每天或每周)获取文件夹及其所有子文件夹中文件的完整列表,以检查更改。该文件夹位于我作为网络共享访问的服务器上。 此文件夹当前包含约250000个子文件夹,并将在未来继续增长。 除了能够挂载文件系统R/W之外,我对服务器没有任何访问权限 当前检索文件列表的方法是在文件夹上递归使用python的os.walk()函数。这受到internet连接延迟的限制,目前需要大约4.5小时才能完成 一种更快的方法是创建一个包含整个文件列表的文件服务器端,然后将此文件传输到我的计算机 有没有一种方法可

我需要定期(每天或每周)获取文件夹及其所有子文件夹中文件的完整列表,以检查更改。该文件夹位于我作为网络共享访问的服务器上。 此文件夹当前包含约250000个子文件夹,并将在未来继续增长。 除了能够挂载文件系统R/W之外,我对服务器没有任何访问权限

当前检索文件列表的方法是在文件夹上递归使用python的
os.walk()
函数。这受到internet连接延迟的限制,目前需要大约4.5小时才能完成

一种更快的方法是创建一个包含整个文件列表的文件服务器端,然后将此文件传输到我的计算机

有没有一种方法可以从客户端请求这样的文件递归列表

python解决方案将是完美的,但我也对其他解决方案持开放态度。
我的脚本目前在Windows上运行,但将来可能会转移到Linux服务器上;操作系统不可知的解决方案是最好的。

您可以通过多种方式实现这一点。我将通过在ssh上运行脚本来实现这一点,如

ssh xys@server 'bash -s' < local_script_togetfilenames.sh
sshxys@server“bash-s”
如果您喜欢python,可以通过添加#来运行类似的python脚本!python假设服务器上安装了python

如果您想完全使用python,您应该探索python RPC(远程进程调用) 您可以使用rPyC库。文件是

您已经提供了问题的答案:

除了能够挂载文件系统R/W之外,我对服务器没有任何访问权限

之后不需要添加任何内容,因为任何服务器端处理都需要能够(直接或间接)在服务器上启动进程


如果您可以与服务器管理员协作,您可以要求他们定期启动服务器端脚本,该脚本将构建包含所需文件的压缩存档(例如zip文件),并在完成后将其移动到特定位置。然后,您只需下载压缩的归档文件即可节省大量网络带宽。

是的,这非常理想,但我没有SSH访问服务器的权限