Передача больших файлов с использованием SFTP с использованием скриптов linux bash - PullRequest
1 голос
/ 20 июня 2019

Я собираюсь отправить огромный файл размером около 1 ГБ на удаленную сторону с использованием SFTP.Однако в интерактивном режиме все работает нормально (когда я sftp@xx.xx.xx.xx и ввожу пароль вручную, я ввожу команду put).Но когда я запускаю его в оболочке, он всегда прерывается.

Я установил параметры ClientAliveTimeout клиента и сервера в / etc / ssh / sshd_config, но это все еще происходит.

Ниже приведен код сценария linux

sshpass -p "password" sftp user@xx.xx.xx.xx << END

put <local file path> <remote file path>

exit
END

Передачафайлов занимает 10 минут при использовании интерактивного режима при запуске с использованием скрипта, файл был неполным из-за размера файла.

Обновление: текущая передача в интерактивном режиме показывает, что небольшие файлы прошли, но большой файл был остановлен на полпути во время передачи.

1 Ответ

0 голосов
/ 20 июня 2019

Я предпочитаю lftp для таких вещей

lftp -u user,passwd domain.tld -e "put /path/file; quit"

lftp тоже может обрабатывать sftp

open sftp://username:password@server.address.com
...