Назад | Перейти на главную страницу

Проблема с rsync -R, заключенным в команду поиска

Я пытаюсь скопировать все файлы с именем 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/