如何使用paramiko为SFTP服务器连接设置超时?

我很努力为使用paramiko库的SFTP连接设置超时选项。

如果我移动10GB文件,经过一段时间后,进程停止,没有任何错误。没有脚本问题。 在我发现服务器断开连接后,只有文件上传过程没有成功完成。

任何人都可以知道如何使用paramiko SFTP客户端设置超时参数。

脚本:

s3_conn = S3Connection(profile_name=dest_profile)
bucket = s3_conn.get_bucket(tgt_bucket_nm)
proxy = paramiko.proxy.ProxyCommand('/usr/bin/nc --proxy proxy_host:8080 %s %s' % (ftp_host, ftp_port) )
transport = paramiko.Transport(proxy)
transport.connect(username=ftp_username, password=ftp_password)
ftp_conn = paramiko.SFTPClient.from_transport(transport)

请让我知道是否有人需要我的问题更多的澄清。

提前致谢


您可以使用下方的行设置通道的超时时间

ftp_conn.get_channel().settimeout(1000)时间以秒为单位


恐怕你必须用settimeout来使用套接字:

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
    sock.settimeout(3)  # see here
        sock.connect((HOST, PORT))
        with paramiko.Transport(sock) as transport:
            ...

它引发socket.timeout

链接地址: http://www.djcxy.com/p/33645.html

上一篇: how to set a time out for SFTP server connection using paramiko?

下一篇: Python Paramiko deletes files on get or open