问题与rsync -R包装在查找命令

我试图复制当前和所有子目录中名为“specials.xml”的所有文件,并创build每个子目录的名称。 我使用-R来rsync,因此它为每个相应的子目录创build相对path。 例如,我想要cp:

/home/deploy/admin_xml_files/foo.com/specials.xml /home/deploy/admin_xml_files/bar.com/specials.xml 

至:

 ~/adminxml/foo.com/specials.xml ~/adminxml/bar.com/specials.xml 

但是这不起作用:

 $ mkdir ~/adminxml/ $ find /home/deploy/admin_xml_files -iname 'specials.xml' -exec rsync -aR ~/adminxml/ {} + 

这是说:

错误:复制多个文件时,目标必须是目录。 rsync错误:错误selectinput/输出文件,目录代码3)在main.c(543)[Receiver = 3.0.7] …

这可能与rsync的参数顺序有关,因为它需要是SRC DEST

 $ mkdir ~/adminxml/ $ cd /home/deploy/admin_xml_files $ rsync -avR $(find . -iname 'specials.xml') /path/to/adminxml/