restore from tar para problemas de localização específicos

1

Eu tenho um arquivo tar e quando listo os arquivos de tar , posso vê-los da seguinte forma:

-rw-rw-r-- root/ccs       3207 2017-02-15 18:43 HMS/PRE.UPG.APPROGS/AP.CLM.NEW
-rw-rw-r-- root/ccs        210 2017-02-15 18:43 HMS/PRE.UPG.APPROGS/AP.R.STUB_1
-rw-r--r-- ccs/ccs         128 2017-05-05 19:01 HMS/BP/_KI.TEST
-rw-rw-r-- ccs/ccs        2683 2017-05-05 19:01 HMS/BP/GET.TOKEN
and etc.

Gostaria que todos os arquivos e pastas fossem restaurados e sobrescritos (incluindo subpastas) /usr/CCS/HMS .

Mas quando eu corri o comando abaixo:

tar xvfz /usr/CCS/backup/hms1_24jan2018.tar.gz -C / HMS*

Em vez de sobrescrever /usr/CCS/HMS e todas as subpastas, o comando acima está sendo restaurado na raiz como /HMS .

Posso, por favor, obter algumas orientações, gostaria que o untar sobrescrevesse todos os arquivos e pastas em /usr/CCS/HMS do arquivo tar .

    
por Muhammad 30.01.2018 / 14:49

2 respostas

2

Parece-me que você deve ser capaz de fazer

tar xvzf /usr/CCS/backup/hms1_24jan2018.tar.gz -C /usr/CCS

ou, alternativamente

cd /usr/CCS
tar xvzf /usr/CCS/backup/hms1_24jan2018.tar.gz

Quando você usa -C / , os arquivos serão descompactados no diretório raiz. Como o caminho no arquivo começa com HMS/ , isso criará um diretório chamado HMS na raiz da hierarquia do sistema de arquivos.

Se você quiser extrair todos os arquivos (conforme sua pergunta), você não deve especificar nomes de arquivos para extrair (você tem HMS* na linha de comando).

Note também que os arquivos existentes em /usr/CCS/HMS que não estão incluídos no arquivo serão deixados no lugar (não modificados). tar não substituirá o conteúdo completo de um diretório apenas porque descompacta alguns arquivos nele.

    
por 30.01.2018 / 14:59
1

Está criando uma pasta na raiz e substituindo-a como você usou - C / HMS *. Altere para -C / usr / CCS / HMS. Ele substituirá o diretório necessário

    
por 30.01.2018 / 15:46

Tags