我想用大量的文件备份一个远程目录,因此,我需要在下载之前对它进行压缩。我可以通过SSH或FTP访问这个文件夹。主机正在Linux上运行。
我已经用aioftp讨论了下载部分。我使用paramiko和tar Linux命令对远程主机中的目录进行压缩,但我希望使用tar模块(不管是否来自标准库),并避免使用tar命令。也许结合paramiko来打开会话、urllib创建远程对象和tarfile来压缩它就可以完成任务,但我还没有找到方法。
最后,我希望在我的本地主机上有一个directory-backup.tar.gz。我怎样才能做到这一点?
发布于 2019-04-08 06:28:30
您必须使用服务器上的工具压缩目录。
使用本地Python代码是没有意义的。要在本地压缩文件,您必须下载未压缩的文件,压缩它们(使用本地Python代码),然后上传压缩的归档文件,然后再下载。这违背了压缩的目的,对吧?
如果要使用Python代码进行压缩,则必须在服务器上运行Python代码。通过上传脚本并在服务器上执行它,或者将代码提供给远程python进程。我认为在使用现成的tar命令时这样做没有多大好处。
https://stackoverflow.com/questions/55564316
复制相似问题