rsync diretórios específicos

2

Abaixo estão os diretórios da minha estrutura de diretórios.

Eu só quero executar rsync no conteúdo do diretório de arquivamento de qualquer subdiretório e excluir todo o resto:

./
ap/
ap/aploader/
ap/aploader/archive/
ap/as400/
ap/as400/archive/
ce/
ce/archive/
edi/
edi/810/
edi/810/archive/
fin/
fin/adp/
fin/adp/archive/
gl/
gl/adp/
gl/adp/archive/
gl/as400/
gl/as400/archive/
gl/dcb/
gl/dcb/archive/
om/
om/pricelist/
om/pricelist/archive/
om/sygma/
om/sygma/archive/

Os diretórios de origem e de destino têm a mesma estrutura de diretórios, mas somente o diretório de arquivamento precisa rsync .

Por exemplo:

Tudo sob /xx/inbound/om/pricelist/archive precisa ser copiado para /yy/inbound/om/pricelist/archive  e xx/inbound/om/sygma/archive precisa ser copiado para /yy/inbound/om/sygma/archive e assim por diante ...

Eu tentei o seguinte, que não funciona como eu quero:

rsync --include '**archive/***' --exclude '*' -avzh -avzh /xx/inbound/ /yy/inbound
    
por user1595858 16.07.2014 / 21:36

1 resposta

2

Acho que a única coisa que está faltando é incluir inicialmente todos os diretórios que levam aos diretórios de arquivamento, isto é. também --include='*/' . Isso ocorre porque excluir um diretório (com '*') exclui tudo abaixo dele

rsync --include='*/' --include='**archive/***' --exclude='*' -avzh /xx/inbound/ /yy/inbound

Além disso, você não deve precisar de 2 conjuntos de '-avzh'

    
por 25.07.2014 / 09:10