Сб. Ноя 28th, 2020
ssh-logo
Копирование файлов по SSH c архивированием на лету.

Сегодня рассмотрим Копирование файлов c архивированием на лету по SSH протоколу, используя TAR.

Синтаксис команды tar

tar [-] A --catenate --concatenate | c --create | d --diff --compare | --delete | r --append | t --list | --test-label | u --update | x --extract --get [options] [pathname ...]

Копирование файлов через SSH c архивированием на лету.

Выполним следующею команду:

cd /local/dir; tar cf - . | ssh server "cd /destination/dir; tar xf -"

Теперь разберем, что же происходит в коде:

  1. cd /local/dir; — осуществляется переход к папке /local/dir, которая будет архивироваться;
  2. tar cf - . — утилита tar выполняет следующие операции:
    • -c говорит о том, что нужно создать новый архив;
    • -f говорит о том, что используется архивный файл (или устройство);
    • парамерт - говорит о том, что tar должен использовать стандартный вывод, а не записывать данные в файл
    • параметр . говорит о том, что архивироваться будет папка, в которой находится пользователь, и из которой выполняется команда tar (в данном случае это папка /local/dir из п.1)
  3. | ssh означает, что вывод утилиты tar будет передан в ssh-исполняемую следом команду;
  4. server обычно имеет вид [имя_пользователя]@[адрес_сервера] и означает, что команда будет выполнена на удаленном сервере;
  5. "cd /destination/dir; tar xf -" — в кавычки заключена последовательность команд для выполнения на удаленном сервере и в SSH вводится именно в кавычках, разберем ее в следующем пункте;
  6. cd /destination/dir; — осуществляется переход к папке, куда будут разархивированы файлы;
  7. tar xf - утилита tar выполняет следующие операции:
    • -x говорит о том, что будет происходить распаковка;
    • -f говорит о том, что используется архивный файл (или устройство);
    • параметр  -  говорит о том, что tar должен использовать не файл, а стандартный вывод.

Также можно использовать дополнительно следующие параметры с tar:

  1. параметр -v сообщает tar действовать вербально, т.е. отображая, либо получая исчерпывающую информацию о файлах в процессе обработки;
  2. -z — параметр сообщает tar использовать программу сжатия, когда работа будет вестись с файлами;
    или
    -j — параметр сообщает tar выполнять чтение или запись архивов, используя компрессор bzip2.

[endtxt]

RSS

5 1 голос
Article Rating
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять