Каталоги tar при отправке через SSH

Каталоги tar при отправке через SSH

В настоящее время, когда я хочу сделать резервную копию своего сервера, я вхожу на него, а затем выполняю команду ниже, которая архивирует локальный каталог «/ebs1» и отправляет его на другой сервер по IP xxx.xxx.xxx.xxx и сохраняет его на этом сервере резервного копирования под именем «/ebs1_2019-06-02.tar».

tar -cvf - "/ebs1" | ssh -p 22 [email protected] "cat > /ebs1_2019-06-02.tar"

Работает просто отлично. Но вы заметили, что я вошел на сервер, который резервируется, чтобы выполнить команду выше? Но что, если я хочу войти на резервный сервер, как мне изменить команду выше?

решение1

Сюда:

ssh [email protected] tar cf - /ebs1 >/ebs1_2019-06-02.tar

Это не сработает, если каталог, резервная копия которого создается, содержит пробелы или какие-либо специальные символы. В этом случае вам нужно использовать такую ​​команду:

ssh [email protected] tar cf - "'/directory name'" >/ebs1_2019-06-02.tar

...и это может быстро стать неудобным. Вы можете написать скрипт на целевом компьютере, содержащий команду tar, и запустить его через ssh, так что вам не нужно будет экранировать все в командной строке.

Однако если имя каталога не содержит специальных символов, то подойдет первая команда.

Связанный контент