11

Я часто передаю большие каталоги по scp и было бы здорово, если бы я мог каким-то образом сжать каталог, отправить его и распаковать все в одном.

Возможно ли что-то подобное?

3 ответа3

28

Как насчет использования rsync вместо опции -z для сжатия?

rsync -az --progress source_dir/* remote_host:/destination_dir

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

7

Благодаря ответу @ johnshen64, я смог придумать что-то очень хорошее

tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination

К сожалению, это не показывает прогресс по мере передачи. Я заметил невероятные улучшения скорости при использовании этого метода.

Если кто-нибудь знает, как показать прогресс для такого перевода, я очень признателен за помощь :)

2

ну, я бы использовал смолу вместо

tar cf - каталог | ssh сервер 'tar xf -'

Вы можете добавить v, чтобы проверить.

zip должен быть таким же, но, на мой взгляд, tar более устойчив для linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .