使用SSH或FTP压缩远程目录的Python方法

时间:2019-04-07 22:42:36

标签: python ssh urllib paramiko tarfile

我想备份包含很多文件的远程目录,因此,在下载之前,需要对其进行压缩。我可以通过SSH或FTP访问此文件夹。主机正在Linux上运行。

我已经用aioftp覆盖了下载部分。我曾经使用paramikotar Linux命令来压缩远程主机中的目录,但是我想使用Python模块(是否来自标准库),而避免使用Linux命令。也许结合使用paramiko来打开会话,urllib来创建远程对象和tarfile来压缩它可以完成工作,但是我还没有找到办法。

最后,我要在本地主机中使用directory-backup.tar.gz。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

您必须使用服务器上的工具 压缩目录。

使用本地Python代码毫无意义。要在本地压缩文件,您将必须下载未压缩的文件,将其压缩(使用本地Python代码),然后上传压缩的归档文件,然后再下载。这违背了压缩的目的,对吧?

如果要使用Python代码进行压缩,则必须在服务器上运行Python代码。通过上载脚本并在服务器上执行脚本,或将代码提供给远程python进程,都可以。与使用现成的tar命令相比,我认为这样做没有太多优势。