我想备份包含很多文件的远程目录,因此,在下载之前,需要对其进行压缩。我可以通过SSH或FTP访问此文件夹。主机正在Linux上运行。
我已经用aioftp
覆盖了下载部分。我曾经使用paramiko
和tar
Linux命令来压缩远程主机中的目录,但是我想使用Python模块(是否来自标准库),而避免使用Linux命令。也许结合使用paramiko
来打开会话,urllib
来创建远程对象和tarfile
来压缩它可以完成工作,但是我还没有找到办法。
最后,我要在本地主机中使用directory-backup.tar.gz
。
我该怎么办?
答案 0 :(得分:1)
您必须使用服务器上的工具 压缩目录。
使用本地Python代码毫无意义。要在本地压缩文件,您将必须下载未压缩的文件,将其压缩(使用本地Python代码),然后上传压缩的归档文件,然后再下载。这违背了压缩的目的,对吧?
如果要使用Python代码进行压缩,则必须在服务器上运行Python代码。通过上载脚本并在服务器上执行脚本,或将代码提供给远程python
进程,都可以。与使用现成的tar
命令相比,我认为这样做没有太多优势。