Verifique se o seu caminho de localização é "." e em relação ao seu caminho rsync porque o find inclui o prefixo do caminho nos resultados. Leia também as mensagens de erro do rsync que irá avisá-lo se você errar com algo parecido;
rsync: link_stat "/test/a/a/1/3.txt" failed: No such file or directory (2)
Aqui está um exemplo que funcionou para mim:
mkdir test
cd test
mkdir a b
cd a
mkdir 1
echo 1 > 1/2.txt
ln -s 1/2.txt 1/3.txt
tree ../
../
├── a
│ └── 1
│ ├── 2.txt
│ └── 3.txt -> a/1/2.txt
└── b
então
find . -type l | rsync -av --files-from=- ./ ../b/
building file list ... done
./
1/
1/3.txt -> a/1/2.txt
sent 99 bytes received 25 bytes 248.00 bytes/sec
total size is 9 speedup is 0.07
tree ../
../
├── a
│ └── 1
│ ├── 2.txt
│ └── 3.txt -> a/1/2.txt
└── b
└── 1
└── 3.txt -> a/1/2.txt
4 directories, 3 files
Se por fracassado você quer dizer que o comando -L (mudando um / 1 / 2.txt para b / 1 / 2.txt) faz com que não funcione, então ... Eu não sei por que isso acontece, mas eu gostaria contornar com mount --bind --make-slave
.