Как передать большие файлы/папки без накладных расходов через сеть

ssh user@host "cd targetdir; tar cfp - *" | dd of=file.tar


Команда ssh user@host "cd targetdir; tar cfp - *" | dd of=file.tar выполняет следующее:

— Устанавливает SSH-соединение с удаленным хостом (user@host).
— На удаленном хосте переходит в директорию targetdir.
— Архивирует все файлы и папки в текущей директории с помощью tar, используя опцию cfp, и выводит архив в стандартный вывод (stdout).
— Затем, с использованием конвейера (pipe), передает этот архив в команду dd.
— Команда dd записывает данные из stdin в файл file.tar на локальной машине.

Эта команда полезна для передачи больших файлов или папок через SSH без необходимости сохранять временный архив на удаленном хосте. Альтернативой может быть использование scp для копирования файлов через SSH, но она требует дополнительного дискового пространства на удаленном хосте.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *