Я пытаюсь скопировать все файлы с именем specials.xml в текущий и все подкаталоги, а также создать имя каждого подкаталога. Я использую -R для rsync, поэтому он создает относительные пути для каждого соответствующего подкаталога. Например, я хочу 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/ {} +
Он говорит:
ОШИБКА: при копировании более 1 файла местом назначения должен быть каталог. Ошибка rsync: ошибки при выборе файлов ввода / вывода, код dirs 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/