Pode rsync copiar diretórios através de links

0

Eu tenho o seguinte cenário onde eu preciso copiar diretórios que às vezes podem ser links e às vezes um diretório com o mesmo nome. Por exemplo, suponha que essa seja a configuração inicial:

Fonte: / workspace / test / source / dir1 - > / tmp / test1

Destino: / workspace / test / dest / dir1 - > / tmp / test1

Agora, suponha que eu remova o link na fonte e crie uma pasta com o mesmo nome. Agora, é assim:

Fonte: / workspace / test / source / dir1

Destino: / workspace / test / dest / dir1 - > / tmp / test1

O que eu gostaria de fazer agora é usar o rsync para copiar a pasta atual e "sobrescrever" o link, assim seria:

Fonte: / workspace / test / source / dir1

Destino: / workspace / test / dest / dir1

Existe alguma maneira de fazer isso via rsync? Eu sei que se eu usar o rsync um nível acima, ou seja, / workspace / test / source, ele funcionará. Infelizmente, tenho que usar o rsync de nível mais baixo.

Aprecie sua resposta.

    
por Emil Gelman 03.05.2018 / 14:30

1 resposta

0

Este é o comportamento padrão de rsync .

Exemplo

## Preamble
$ cd /tmp
$ mkdir src dst stuff
$ touch stuff/{a,b,c}
$ ( cd src && ln -s /tmp/stuff dir1 )
$ ( cd dst && ln -s /tmp/stuff dir1 )

## Symlinks are retained
$ cd /tmp
$ rsync -avv src/ dst/

## Change scenario
$ ls -l src
$ rm src/dir1 && cp -a /tmp/stuff src/dir1

## Symlinks are replaced according to the source
$ cd /tmp
$ rsync -avv src/ dst/
$ ls -l dst
    
por 03.05.2018 / 17:35

Tags