tar исключая родительские каталоги и создавая tarball на удаленном хосте - PullRequest
0 голосов
/ 22 мая 2019

У меня есть хост, на котором приложение создает модельные каталоги / файлы.Я хочу скопировать эти файлы и отправить их на другой хост для резервного копирования DR.

Пока у меня есть следующее:

sudo tar -zcvf - /mnt/nfsshared | ssh app@<ip-address> "cat > /data/models/models_$(date +\%Y-\%m-\%d).tar.gz" > /dev/null 2>&1

Эта команда будет собирать все каталоги и файлы в/ mnt / nfsshared и создайте архив на удаленном хосте в каталоге / data / models /. Однако я хочу исключить каталоги / mnt / nfsshared / parent и просто скопировать каталоги / файлы в каталог / nfsshared.

Я знаю, что могу переписаться в / mnt / nfshared и скопировать все файлы.

Я также могу выполнить эту команду

sudo -C /mnt/nfsshared -zcvf | ssh app@<ip-address> "cat > /data/models/models_$(date +\%Y-\%m-\%d).tar.gz" > /dev/null 2>&1

, которая будет собирать только каталоги / файлы под nfsshared.,Однако, какой аргумент я бы передал команде: -zcvf Я не могу использовать имя тарбола, так как он создается на удаленном хосте.

В / mnt / nfsshared / у меня есть несколько каталогов, содержащих дополнительные подкаталогии файлы.

/mnt/nfsshared/model1/files 
              /model2/files 
              /model3/submodel1/files 
                     /submodel2/files 
                     /submodel3/files 
              /model4/submodel1/files 

I want only to tar up the model, submodel directories and the files I want to exclude the /mnt/nfsshared directories

Cheers,
Roland
...