Python 在本地计算机和远程服务器之间传输文件

Python 在本地计算机和远程服务器之间传输文件,python,Python,我想从远程ubuntu服务器访问本地计算机,因为我在这台计算机中有多个文件,我想定期(每分钟)将其传输到服务器。如何使用python实现这一点取决于您的本地计算机操作系统和网络设置,我建议如下: 文件传输 根据文件大小,如果是小拷贝,我会使用scp(安全拷贝)。这是因为命令的简单性 然而,在大多数用例中,我会使用rsync,因为它具有强大的功能,最重要的是能够处理失败的部分传输。它通过分析来源和目的地之间的差异来工作。它几乎拥有所有可用的首选项(覆盖、增量等) 请注意,在较长时间内在自动化脚本中

我想从远程ubuntu服务器访问本地计算机,因为我在这台计算机中有多个文件,我想定期(每分钟)将其传输到服务器。如何使用python实现这一点取决于您的本地计算机操作系统和网络设置,我建议如下:

文件传输 根据文件大小,如果是小拷贝,我会使用
scp
(安全拷贝)。这是因为命令的简单性

然而,在大多数用例中,我会使用
rsync
,因为它具有强大的功能,最重要的是能够处理失败的部分传输。它通过分析来源和目的地之间的差异来工作。它几乎拥有所有可用的首选项(覆盖、增量等)

请注意,在较长时间内在自动化脚本中使用这些命令时,可能需要为远程计算机设置静态IP或DDN

python 要在Python脚本中运行shell命令,请使用
pexpect
。它是围绕原始的基于C的
expect
构建的,非常棒。前几天,我用它将一个文件夹从一台开发人员计算机同时远程传输到多个不同的Raspberry PI。请在此处查看文档:

自动化 至于自动化,这实际上取决于您希望如何设置它。如果希望在传输数据时调用负责传输数据的python脚本,可以查看
crontab
。这是众所周知的管理员很容易谷歌

或者,如果这是Python应用程序的一部分,您可以让该应用程序在后台运行,并在传输之间休眠(
time.sleep()
或要检查的耗时函数)。如果您需要在同一个Python应用程序中执行其他操作,那么您可以将整个传输和睡眠部分粘贴到一个线程中(在Python中也很容易实现)


我希望这能有所帮助,如果您想了解详细信息,请告诉我。

到目前为止您尝试了什么?您是否尝试了
cron
scp
一起工作?谢谢你们的回复重播,但我想在服务器上运行python脚本,以带来从本地自动生成的文件machine@user8424107这应该不是问题,当您使用
scp
rsync
时,您可以指定源和目标。源文件可以是外部文件系统,例如
rsync-a--progresspi@machine.local:/home/pi/Users/me/Desktop/