рекурсивно синхронизировать только определенные файлы из определенных подкаталогов с удаленного сервера
Структура каталогов у меня следующая.
./model1 ./model1/correct_data/file1.txt ./model1/bad_data/file1.txt ./model2 ./model1/correct_data/file1.txt ./model1/bad_data/file1.txt
Мне нужно только синхронизировать file1.txt
который присутствует в подкаталоге correct_data
.
- начать загрузку rsync до завершения загрузки
- Любые идеи для упрощения выражения неудобного rsync ниже?
- Эффективный способ загрузки двоичных файлов с сервера
- rsync список файлов в подкаталогах на удаленный сервер и удаление посторонних
- Rsync после копирования
rsync может использоваться для рекурсивной синхронизации только file1.txt
из всех подкаталогов, как
rsync -zarvL --prune-empty-dirs --include "*/" --include="file1.txt" --exclude="*"' <from> <to>
Однако я не уверен, как добавить дополнительный сдерживать синхронизацию только в подкаталог correct_data
One Solution collect form web for “рекурсивно синхронизировать только определенные файлы из определенных подкаталогов с удаленного сервера”
Я бы использовал это
( cd {from} && rsync -zavLR */correct_data/file1.txt {to}/ )
Новый ингредиент – -R
который применяет исходный путь каждого файла к корню назначения {to}
. Я удалил -r
потому что это подразумевается -a
. Значение -z
применимо только в том случае, если цель на самом деле является удаленной. Вы действительно намереваетесь -L
?
Подселочка хранит счетчик cd {from}
ограниченным командой rsync
.