gpt4 book ai didi

python - 使用 Fabric v2/paramiko 传输大文件时遇到困难

转载 作者:行者123 更新时间:2023-12-02 07:18:23 27 4
gpt4 key购买 nike

我正在更新一些之前在 Fabric v1 上运行且运行良好的代码。然而,现在我在尝试将大约 200MB 大小的文件从本地传输到远程时遇到问题(在 Fabric 2.5.0 中使用 connection.put())。它似乎正在传输,但进一步尝试操作该文件显示只有 7 到 10 MB 成功传输,我的任务失败了。

我已尝试了多种步骤来隔离问题。我可以手动将文件从一台主机传输到另一台主机,没有任何问题。我可以创建一个简单的脚本,如下所示,也可以:

    import subprocess

ret = subprocess.Popen(['scp', '/tmp/filename', 'host:/tmp/']).wait()
print(ret)

但即使在我的 fabfile.py 中尝试这个完全相同的代码片段也会导致与使用 connection.put() 相同的行为 - - 也就是说,没有错误消息,返回代码为 0,但远程主机上的结果文件为 5-10MB 并且已损坏。

我正在运行该任务:fab -d deploy --target=stage --prompt-for-passphrase 并且调试输出(尽管我不是100%可以理解)并不立即似乎有任何与问题相关的东西。我可以在哪里进行调试并找到可行的解决方案?

编辑:相关版本信息:

  • 本地Python:3.6.8
  • 远程Python:3.6.9
  • 结构:2.5.0
  • Paramiko :2.6.0

最佳答案

只是一个想法,有时每个人都会遇到这种情况。

您是否检查过目标服务器目标目录卷中的可用空间?也许里面充满了日志等,你只能放几兆?

我无法在本地模拟该案例,但我相信由于您无法使用 scp 和 Paramiko 复制它,所以这可能是一个真实的故事:)

关于python - 使用 Fabric v2/paramiko 传输大文件时遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59290725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com