Bazı dosyaları indirmek ve işlemek zorunda olduğum bir SFTP sunucusuna bağlanmak için paramiko kullanıyorum.Paramiko ile SFTP/SSH oturum zaman aşımını önleyin
Sunucunun 5 dakikaya ayarlı bir zamanaşımı vardır, ancak bazı günlerde dosyaların işlenmesi zaman aşımından daha uzun sürebilir. Yani, ben bağlantı zaman aşımına uğradı bunun bir istisna olsun diğer bazı dosyaları sftp.chdir(target_dir))
işlemek için sunucudaki çalışma dizinini değiştirmek istiyorum:
Dosya buildbdist.win32eggparamikosftp: //ftp.py, çizgi
: 138, _write_all içinde EOFError hatası()
bunu engellemek için zam yani 30 saniyeye ayarlamak için taşıma "set_keepalive" kullanılan yüzden tutmak hayatta aktive iyi seçenek olacağını düşündüm
ssh = paramiko.SSHClient()
ssh.set_missing_hostkey_policy(paramiko.AutoAddPolicy())
ssh.connect(ssh_server, port=ssh_port, username=ssh_user, password=password)
transport = ssh.get_transport()
transport.set_keepalive(30)
sftp = transport.open_sftp_client()
Ancak hiçbir şey değişmez. Değişimin kesinlikle bir etkisi yoktur. set_keepalive
kavramını yanlış anladığımı veya belki de (erişemediğim) sunucunun no'lu telefonu paketlerini canlı tuttuğunu bilmiyorum.
Bu sorunu çözmek için doğru yöntem değil midir yoksa farklı bir yaklaşım mı denemeliyim? Oturumu canlı tutmak için sunucuya "el ile" ls
komutunu göndermekten hoşlanmıyorum.
Kalıcı paketler sunucumdan yoksayıldı. Sadece ağ bağlantılarını zaman aşımından korumak içindir. – JimB