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

时间:2018-05-13 11:51:04

标签: python

我想从远程ubuntu服务器访问本地机器,因为我在这台机器上有多个文件,我想定期(每分钟)将它传送到服务器如何使用python

1 个答案:

答案 0 :(得分:0)

根据您的本地计算机操作系统和网络设置,我建议如下:

文件传输

根据文件大小,如果它是一个小副本,我会使用scp(安全副本)。这是因为命令的简单性。

在大多数用例中,我会使用rsync,因为它具有强大的功能,最重要的是能够处理失败的部分传输。它的工作原理是分析源和目的地之间的差异。它几乎可以在阳光下使用(覆盖,增量等)

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

的Python

要在Python脚本中运行shell命令,请使用pexpect。它围绕原始的基于C expect构建而且非常棒。我前几天使用它将文件夹从开发计算机远程传输到多个不同的Raspberry Pis。在这里查看文档:{​​{3}}

自动化

至于自动化,它实际上取决于你想要它的设置方式。如果您希望在要传输数据时调用负责传输数据的python脚本,可以查看crontab。管理员非常熟悉谷歌这么容易。

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

我希望这会有所帮助,如果您需要详细说明,请与我们联系。