shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] comando find + tar


From: Alysson Gonçalves de Azevedo
Subject: Re: [shell-script] comando find + tar
Date: Fri, 12 Jul 2013 15:06:57 -0300

Miranda, obrigado pela dica.

Embora não seja a melhor opção para mim, sua dica veio a acrescentar
bastante meu conhecimento...
Digo, o strip resolve a questão de extrair os arquivos na pasta atual, e
não nos subdiretórios, mas dentro do arquivo tar continua as pastinhas lá.
Isso me incomoda.

Mas lendo sobre o --strip-component, eu descobri o --transform, esse sim
resolve a questão.
tar -cf teste.tar --transform='/backup/sql/,,' /backup/sql/base1.sql
/backup/sql/base2.sql
tar -tf teste.tar
base1.tar
base2.tar

No link que estou lendo,
http://www.gnu.org/software/tar/manual/html_section/transform.html tem um
exemplo lá que não entendi direito:

Strip two leading directory components (equivalent to
‘--strip-components=2’):
$ tar --transform='s,/*[^/]*/[^/]*/,,' -x -f arch.tar

A parte ali do [^/]* casa com o quê exatamente, alguém sabe?

Obrigado.



Alysson Gonçalves de Azevedo

"Anarcho-syndicalism is a way of preserving freedom." - Monty Python


Em 12 de julho de 2013 14:03, miranda <address@hidden> escreveu:

> **
>
>
> verifique a opção --strip-components do tar . pode ser que lhe seja útil
>
>
> On Thu, 2013-07-11 at 23:33 -0300, Alysson Gonçalves de Azevedo wrote:
>
> >
> >
> > Não preciso do maxdepth pq na pasta onde os backups SQL são salvos não
> > terá
> > subpastas.
> >
> > Mas como a rotina de backup é executado pelo cron, eu prefiro usar
> > nomes
> > completos do que relativos.
> > Dai eu passo o caminho inteiro do diretório, que é /backup/sql pro
> > find
> > listar os arquivos de lá (que são 3), e coloco pro tar agrupar eles e
> > compactar.
> > O comando que eu passei por ultimo já está fazendo isso.
> >
> > Quando perguntei sobre o find receber um caminho completo e retornar
> > apenas
> > o nome do arquivo era pra eu poder adaptar o que eu ja tenho usando o
> > xargs
> > que Julio sugeriu.
> > Se não tiver como e eu precisar recorrer a outros comandos, basename
> > da
> > vida, já não compensa, porque no comando que eu uso agora, sem o
> > xargs, já
> > faz isso apenas com find + tar.
> >
> > Alysson Gonçalves de Azevedo
> >
> > "Anarcho-syndicalism is a way of preserving freedom." - Monty Python
> >
> > Em 11 de julho de 2013 15:17, miranda <address@hidden>
> > escreveu:
> >
> > > **
>
> > >
> > >
> > > você pretende usar -maxdepth ?
> > >
> > >
> > > On Thu, 2013-07-11 at 11:55 -0300, Alysson Gonçalves de Azevedo
> > wrote:
> > >
> > > >
> > > >
> > > > Tem como passar o caminho completo pro find e ele retornar apenas
> > o
> > > > nome do
> > > > arquivo? tipo:
> > > > find /home/user/Documents
> > > > ./file1
> > > > ./file2
> > > >
> > > > Eu tentei com o -printf %p mas não resolveu...
> > > >
> > > > Se tiver como, ai dá pra usar junto com xargs, se não, cai naquele
> > > > erro
> > > > lá...
> > > > Para eu adicionar os arquivos da pasta sql, sem criar a estrutura
> > de
> > > > diretorios junto, eu tenho que usar o parametro -C. Só que o
> > parametro
> > > > faz
> > > > eu ter que passar o caminho relativo dos arquivos. Com isso, se o
> > find
> > > > retornar o caminho completo, da erro.
> > > >
> > > > Alysson Gonçalves de Azevedo
> > > >
> > > > "Anarcho-syndicalism is a way of preserving freedom." - Monty
> > Python
> > > >
> > > > Em 11 de julho de 2013 11:03, Julio C. Neves
> > > > <address@hidden>escreveu:
> > > >
> > > > > Ou experimentar fazer:
> > > > > find $BkpDir/qsl -type f | xargs tar -zcf $bkpFile
> > > > >
> > > > > Abcs,
> > > > > Julio
> > > > > *@juliobash
> > > > > *
> > > > >
> > > > >
> > > > >
> > > > > Em 11 de julho de 2013 10:05, Diogo Leal <address@hidden>
> > > > escreveu:
> > > > >
> > > > > > **
> > > > > >
> > > > > >
> > > > > > Acho que se não é um erro, você não deve se preocupar.
> > > > > >
> > > > > > Diogo Leal [estranho]
> > > > > > http://diogoleal.com
> > > > > > talk: address@hidden
> > > > > >
> > > > > > 2013/7/10 Alysson Gonçalves de Azevedo <address@hidden>
> > > > > >
> > > > > > > Pessoal, tenho um script de backup aqui rodando, que em um
> > > > determinado
> > > > > > > ponto ele faz um find numa pasta e compacta os arquivos sql
> > > > dela.
> > > > > > >
> > > > > > > find $BkpDir/qsl -type f -exec tar -zcf $bkpFile {} \+
> > > > > > >
> > > > > > > isso cria lá o arquivo backup.tar.gz corretamente, mas gera
> > > > também a
> > > > > > > mensagem:
> > > > > > > tar: Removing leading / from member names
> > > > > > >
> > > > > > > Pelo que vi na net, isso não é um erro, mas vocês acham que
> > eu
> > > > devo me
> > > > > > > preocupar? Se tiver alguma forma de evitar isso, eu até
> > > > prefiro...
> > > > > > >
> > > > > > >
> > > > > > > Obrigado.
> > > > > > >
> > > > > > > Alysson Gonçalves de Azevedo
> > > > > > >
> > > > > > > "Anarcho-syndicalism is a way of preserving freedom." -
> > Monty
> > > > Python
> > > > > > >
> > > > > > >
> > > > > > > [As partes desta mensagem que não continham texto foram
> > > > removidas]
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > ------------------------------------
> > > > > > >
> > > > > > > ----------------------------------------------------------
> > > > > > > Esta lista não admite a abordagem de outras liguagens de
> > > > programação,
> > > > > > como
> > > > > > > perl, C etc. Quem insistir em não seguir esta regra será
> > > > moderado sem
> > > > > > > prévio aviso.
> > > > > > > ----------------------------------------------------------
> > > > > > > Sair da lista: address@hidden
> > > > > > > ----------------------------------------------------------
> > > > > > > Esta lista é moderada de acordo com o previsto em
> > > > > > > http://www.listas-discussao.cjb.net
> > > > > > > ----------------------------------------------------------
> > > > > > > Servidor Newsgroup da lista: news.gmane.org
> > > > > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > > > >
> > > > > > > Links do Yahoo! Grupos
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > > [As partes desta mensagem que não continham texto foram
> > removidas]
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram
> > removidas]
> > > > >
> > > > >
> > > > >
> > > > > ------------------------------------
> > > > >
> > > > > ----------------------------------------------------------
> > > > > Esta lista não admite a abordagem de outras liguagens de
> > > > programação, como
> > > > > perl, C etc. Quem insistir em não seguir esta regra será
> > moderado
> > > > sem
> > > > > prévio aviso.
> > > > > ----------------------------------------------------------
> > > > > Sair da lista: address@hidden
> > > > > ----------------------------------------------------------
> > > > > Esta lista é moderada de acordo com o previsto em
> > > > > http://www.listas-discussao.cjb.net
> > > > > ----------------------------------------------------------
> > > > > Servidor Newsgroup da lista: news.gmane.org
> > > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > > > >
> > > > > Links do Yahoo! Grupos
> > > > >
> > > > >
> > > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]