моя структура папок выглядит так:
/volume1
/photoTest
/folderA
/@eaDir
/eaDir_tmp
/folderB
/@eaDir
/eaDir_tmp
/folder with space
/@eaDir
/eaDir_tmp
что я пытаюсь сделать, это скопировать файлы из каждого eaDir_tmp
в их @eaDir
папка.
я был в состоянии получить это происходит через:
for a in $(find /volume1/photoTest -type d -name eaDir_tmp); do rsync -vhar --chmod=a+rwx $a/ $a/../@eaDir; done;
пока я не попал в папку с пробелами. Приведенный выше скрипт просто вываливается.
После много гуглить, я пытался:
find /volume1/photoTest -type d -name eaDir_tmp -print0 | xargs -0 rsync -vhra --chmod=a+rwx {} {}/../@eaDir
сухой запуск этой команды выполняется без проблем. Но фактический запуск застревает после печати.
sending incremental file list
@eaDir/subdir1/
и застревает в нем.
ps -elf | grep rsync
показывает кучу rsync процессов на wait
и poll_s
государство.
кто-нибудь знает, что происходит? И каким может быть решение?
обновление: некоторые разъяснения на основе комментария:
- переместить или скопировать? Ну конечная цель состоит в том, чтобы "двигаться". Но я хотел бы знать, как получить копию.
- что происходит - да, я хотел бы знать, что происходит и почему мои команды работают не так, как ожидалось. Я надеюсь узнать что-то, поскольку я не обычный пользователь linux.
- какое решение может быть? Ну, я тоже хотел бы это знать. 🙂
- что внутри
eaDir
папки? Несколько папок, и файлы внутри них. Если это помогает, все началось с этого:https://github.com/mbrrg/synology-thumbgen. Автор предлагает удалить существующий@eaDir
папки и просто переименоватьeaDir_tmp
. Но я не могу этого сделать, потому что существующие папки содержат файлы, которые я хотел бы сохранить. Я могу объяснить, но я думаю, что это еще больше запутает вопрос. execdir
работает-в том смысле, что он не говорит недопустимый аргумент или не выдает ошибку. Но это не достигает цели-то есть скопировать файлы правильно.- как богат мой
find
? Это внутри моего NAS Synology, который, как я думаю, работает BusyBox? Хотя не уверен. Как мне об этом узнать? - если файлы назначения существуют, тогда я хотел бы перезаписать его, если источник новее. Иначе нет.