У меня два сервера, и мне нужно скопировать 87000+ файлов со старого сервера (Debian 9) на новый сервер (Debian 10), попытался использовать sftp
но соединение постоянно обрывается, и передача файлов занимает слишком много времени (средний размер файла ~ 10 МБ). Архивирование файлов невозможно, поскольку на исходном устройстве нет места для сохранения файла архива. Мне также нужно скопировать только определенное расширение файла для этой работы. Попробовал rsync
но за 20 часов он передал всего ~ 22000.
Вы можете использовать tar, не сохраняя его на диск, просто отправляя поток по сети и распаковывая его там. Это может быть сделано с помощью netcat либо через необработанный, либо через зашифрованный туннель ssh (опция -L или -R). Я описал процесс в этот ответ, вы можете легко адаптировать это к своему случаю.
Однако я сомневаюсь, что это будет намного быстрее, чем rsync. Также обратите внимание, что вы можете запускать rsync несколько раз, он отправит только изменения, а не весь набор данных.