Перенос каталогов без создания архива на диске. Поток идёт напрямую, распаковка выполняется сразу на целевой стороне.
Push каталога на удалённый сервер:
tar -cf - ./my-folder | ssh user@server "tar -C /home/user -xf -"
Метод потоковый — файлы не копятся в RAM целиком, запись сразу в указанную директорию.
Сжатие в момент передачи:
tar -czf - ./my-folder | ssh user@server "tar -C /home/user -xzf -"
Сжатие экономит трафик и может ускорить перенос, но на слабом или загруженном CPU иногда замедляет.
Мониторинг прогресса (не меняет поток):
tar -cf - ./big-data | pv | ssh user@server "tar -C /data -xf -"
pv просто показывает скорость, объём и ETA. Без него всё работает так же, но без визуального прогресса.Pull каталога к себе:ssh user@server "tar -C /data -cf - ./remote-folder" | tar -C ./target -xf -
Удобно для забора бэкапов, артефактов сборки и выгрузки данных со служебных серверов.
Флаги для миграций, где важны права, владельцы,
ACL и xattrs (обычно под root):-p --same-owner --numeric-owner --acls --xattrs
Владельцы и расширенные атрибуты применятся только при достаточных правах у пользователя.
🔥 Нет промежуточных архивов на диске; Для инкрементальных копий лучше
rsync; Для изоляции раздела можно добавить --one-file-system🚪 Linux Ready | #практика