Isso não precisa ser feito rsync, mas seria bom não ter que escrever um script para fazer isso e rsyncestá muito próximo do que eu quero.
rsync -a(ou -l) pode preservar links simbólicos e -Lpode desreferenciar links simbólicos e copiá-los como se fosse um arquivo / diretório normal. No entanto, é possível manter o link simbólico e também copiar os arquivos / diretórios para os quais os links apontam?
Aqui está um exemplo. Digamos que temos esta hierarquia de pastas:
dirA/link_to_file -> ../dirB/file
dirA/link_to_dir -> ../dirC
dirB/file
dirB/not_this_file
dirC/file
dirC/file2
dirD/others
e quando eu fizer rsync -aR dirA dest(ou qualquer outra coisa), gostaria que elas aparecessem exatamente em dest:
dirA/link_to_file -> ../dirB/file
dirA/link_to_dir -> ../dirC
dirB/file
dirC/file
dirC/file2
Isso é possível com rsync? Obrigado.
Vamos supor que links simbólicos com caminho absoluto ou apontar para fora do diretório de origem possam ser ignorados.
a -> b, b -> c/foo, c -> d/e: um pedido de cópia atambém deve copiar b, c, c/foo, d, d/ee d/e/foo).
dirA/linkfor um link simbólico../dirB/file, isso deve ser tratado como cópiadirB/fileparadest/dirB/fileedirA/linkparadest/dirA/link. E sedirA/linkfor um link para../../another_file? O que acontece, em geral, sedirA/linkaponta para um diretório mais alto na árvore de diretórios?