Como rsync e grep apenas o caminho dos arquivos modificados no diretório de origem

0

Existe uma maneira de apenas grep apenas mudar, isto é; (adicionar, excluir, modificado) e imprimir o caminho e o nome do arquivo usando o rsync.

Eu tentei com o comando abaixo, mas estou obtendo o caminho e o arquivo modificados em uma linha separada.

rsync -avnc $source $destination
source/10101/10102/10103/
source/10101/10102/10103/demo.fts

Nota: Existem mais de milhares de subdiretórios na origem, eu quero imprimir apenas arquivos que são modificados com o caminho absoluto.

    
por Nitin Mestry 01.07.2018 / 08:26

1 resposta

1

Você está obtendo o caminho do diretório, já que o diretório é diferente em suas configurações de timestamp ou usuário / grupo ou permissões em comparação com o diretório no destino.

Para impedir que rsync observe os registros de data e hora do diretório, use o sinalizador --omit-dir-times :

rsync -avc -n --omit-dir-times "$source/" "$target"

Observe que rsync não mostrará os caminhos absolutos dos arquivos e diretórios, mas o caminho relativo ao diretório principal que está sendo transferido.

Usando --itemize-changes (ou -i ) no lugar de --verbose (ou -v ), você obtém muito mais informações sobre por que um arquivo está sendo atualizado no destino.

Exemplo (com anotações adicionadas na saída):

$ rsync -ani s/ t
.d..t...... ./          # directory timestamp differs
>f+++++++++ file        # new file

$ rsync -a s/ t

$ touch s/file
$ rsync -ani s/ t
>f..t...... file        # file timestamp differs

$ echo hello >s/file
$ rsync -ani s/ t
>f.st...... file        # file size and timestamp differs

$ rsync -acni s/ t
>fcst...... file        # file size timestamp and checksum differs

$ rm s/file
$ rsync -acni s/ t
.d..t...... ./          # directory timestamp differs
$ rsync -acni --delete s/ t
*deleting   file        # file has been deleted in source
.d..t...... ./          # directory timestamp differs

Consulte a documentação da opção --itemize-changes no manual rsync em seu sistema.

    
por 01.07.2018 / 09:36