Remove o nome do caminho ao extrair e arquivar arquivos que terminam com .log de / var / log

0

Portanto, sou novo no linux e escrevi um pequeno script que supostamente arquiva o conteúdo que termina com .log em / var / log para um arquivo tar chamado log.tar em um novo diretório chamado archive. Então, é suposto listar o conteúdo do arquivo tar e depois extraí-lo para um novo arquivo chamado backup.

#!/bin/bash
mkdir archive
mkdir backup
cd archive
tar -cvf log.tar /var/log/*.log
tar -tf tar.log
tar -xf tar.log -C ~/backup

Então, quando eu executo o script, recebo essa saída.

tar: Removing leading '/' from member names
/var/log/alternatives.log
/var/log/auth.log
/var/log/bootstrap.log
/var/log/dpkg.log
/var/log/fontconfig.log
/var/log/gpu-manager.log
/var/log/kern.log
/var/log/vboxadd-install.log
/var/log/vboxadd-setup.log
/var/log/Xorg.0.log
var/log/alternatives.log
var/log/auth.log
var/log/bootstrap.log
var/log/dpkg.log
var/log/fontconfig.log
var/log/gpu-manager.log
var/log/kern.log
var/log/vboxadd-install.log
var/log/vboxadd-setup.log
var/log/Xorg.0.log

Então, eu queria saber se é possível remover a parte / var / log / das linhas ao arquivar, então, em vez disso, eu obtenho isso ao listar o que está no arquivo tar.

alternatives.log
auth.log
bootstrap.log
cron.log
dpkg.log
kern.log
mail.log

E quando eu ls no arquivo de backup eu vejo o diretório var e quando eu faço o las no diretório var e, finalmente, dentro do diretório de log eu recebo os arquivos de log. Então, como faço para extrair sem o nome / diretório do caminho / var / log /?

    
por Holyfckitsamonkey 06.01.2018 / 23:50

1 resposta

0

você simplesmente tem que estar no diretório / var / log no comando tar

tar cf /path/archives/yourfile.tar *.log

então você tem seus arquivos sem caminho e o seu arquivo de destino está dentro do diretório do seu arquivo.

apenas modifique seu script nessa configuração para aprender & treine-se em scripts.

    
por 06.01.2018 / 23:54

Tags