
Preciso copiar a estrutura de diretórios de um lugar para outro. Preciso copiar apenas pastas e links simbólicos.
eu uso o comando
find $SOURCE_PATH/ \( -type l -o -type d \) -printf "%P\0" | rsync --files-from - --from0 -av $SOURCE_PATH $USER@$DESTINATION_SERVER:/$DESTINATION_PATH/$SOURCE_PATH
O comando foi bem-sucedido e copiou a pasta e os links. Meu problema é porque os links apontam para o destino antigo.
meu caminho de origem éapp/cg/dev e
caminho de destino étmp/app/cg/dev
e agora meus links que copiei estão apontando para app/cg/dev/somefolder . eu preciso que eles apontemtmp/app/cg/dev/somefolder.
Depois de sincronizar todos os links, uma boa maneira de corrigi-los seria se eu pudesse ler o caminho do link e apenas concatenar meu caminho de destino. exemplo
find . -type l | while read l; do
concatenate destination folder and readlink l
done
alguém pode me ajudar a escrever esse código?