LFTP загружает небольшие файлы как пустые - PullRequest
0 голосов
/ 09 марта 2019

У меня есть доступ к SFTP-серверу. Он имеет такие файлы, как:

> rels
-rw-r--r-- 1 container container 954368 Mar 08 21:31 file1
-rw-r--r-- 1 container container 868352 Mar 08 21:31 file2
-rw-r--r-- 1 container container 8192 Mar 08 21:30 file3
-rw-r--r-- 1 container container 8192 Mar 08 21:30 file4

При попытке загрузки через lftp с использованием get file1 или get file2 файлы загружаются вместе с контентом, при этом lftp печатает количество переданных байтов. Использование get file3 или get file4 приводит к загрузке пустых файлов, а lftp - к молчанию.

$ ls -l
-rw-rw-r-- 1 user user  954368 Mar  8 21:31 file1
-rw-rw-r-- 1 user user  868352 Mar  8 21:31 file2
-rw-rw-r-- 1 user user       0 Mar  8 21:30 file3
-rw-rw-r-- 1 user user       0 Mar  8 21:30 file4

Используя команду sftp, get file3 успешно загружает файл вместе с его содержимым.

Отладка вывода из lftp:

> get file3
---- path on wire is `/file3'
---> sending a packet, length=53, type=3(OPEN), id=12
<--- got a packet, length=10, type=102(HANDLE), id=12
---- got file handle 02 (1)
---> sending a packet, length=10, type=8(FSTAT), id=13
<--- got a packet, length=37, type=105(ATTRS), id=13
---- file info: size=8192, date=Fri Mar  8 21:30:53 2019
---> sending a packet, length=22, type=5(READ), id=14
---> sending a packet, length=22, type=5(READ), id=15
<--- got a packet, length=17, type=101(STATUS), id=15
---- status code=1(EOF), message=
---- eof
---> sending a packet, length=10, type=4(CLOSE), id=16
<--- got a packet, length=8201, type=103(DATA), id=14
<--- got a packet, length=17, type=101(STATUS), id=16
---- status code=0(OK), message=

Как видите, он получает пакет с достаточным количеством данных (id = 14), но (возможно, из-за получения пакета состояния EOF перед получением DATA) полученные данные не записываются.

Я нигде не смог найти причину этого - почему lftp не загружает содержимое маленьких файлов? Как я могу заставить его загружать небольшие файлы?

Использование LFTP версии 4.8.1 - в соответствии с журналом изменений, в упомянутых мною проблемах не было исправлено.

...