【发布时间】:2018-05-21 21:55:02
【问题描述】:
我想在 python 中运行一个命令,例如:
tar -cf - files | ssh -c arcfour128 user@remote "tar -xf - -C /directory/"
我显然可以使用subprocess.run:
subprocess.run("""tar -cf - %s | ssh -c arcfour128 user@remote "tar -xf - -C /directory/" """ % file_list ,shell=True))
但是,这样的命令既不提供进度信息,也不提供简单的异常管理。 例如,有没有办法使用库 tarfile 和 paramiko 使用本机 python 代码来做到这一点?谢谢
【问题讨论】:
-
你能编辑这个以使用 Markdown 格式吗?
-
@MaxvonHippel - 编辑待定...添加您的投票!
-
@tdelaney 谢谢,它有效。但是,原始帖子中的命令略有不同:通过管道输出 tar 我避免了一个一个地发送文件。我有数以百万计的文件,因此 tar 是避免逐个发送文件的有效解决方案。我可以在遥控器上使用 tar 然后发送 tar 存档,但这有两个缺点:1. tar 文件需要时间来创建 2. tar 文件占用空间
标签: python file ssh server tar