@perrfect

Как сделать архив на уделенный сервер?

Доброго времени суток.
Как можно сделать архив папки в линукс и сразу скопировать его на уделенный сервер, чтобы на хосте на котором он делается его не было, чтобы не занимал место?
Нужно сразу делать и перемещать, чтобы потом не чистить.
Спасибо.
  • Вопрос задан
  • 1327 просмотров
Пригласить эксперта
Ответы на вопрос 5
gim0
@gim0
Java, Android, Python
Как вариант:
tar -cvz dir | ssh <ip-адрес сервера> 'cat > test.tar.gz'

Где dir -- каталог/файлы, которые нужно заархивировать. tar создаёт архив, затем с помощью pipeline он передаётся через SSH на ввод команде cat на сервере, которая, в свою очередь, направляет полученное содержимое в файл.
Ответ написан
Для этого я использую Ansible, посмотрите вот тут:

https://docs.ansible.com/ansible/archive_module.html

Очень удобно, можно сразу на множестве удаленых серверов сделать, и не надо на них заходить для этого.
Ответ написан
Комментировать
karabanov
@karabanov Куратор тега Linux
Системный администратор
Есть и вот такой головоломный приём использования pipe'а (любезно подсказали в комментариях в жж):

tar -c * | ssh user@server "cd && tar -x"

Tar запаковывает файлы по маске локально, пишет их в stdout, откуда их читает ssh, передаёт в stdin на удалённом сервере, где их cd игнорирует (не читает stdin), а tar — читает и распаковывает. Так сказать, scp для бедных.


Источник: Памятка пользователям ssh
Ответ написан
Комментировать
@azazelpw
Linux SA
А что еще варианты нельзя предложить? ))))
iSCSI например, подключается диск удаленного компа и на него сразу все пишется.
Ответ написан
Комментировать
box4
@box4
советую сжимать, в линуксе архив и сжатие не одно и тоже.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы