Использование параметров Rsync include и exclude для включения каталога и файла по шаблону
у меня возникли проблемы с правильным синтаксисом rsync, и мне интересно, может ли мой сценарий быть обработан с помощью rsync. Во-первых, я подтвердил, что rsync отлично работает между моим локальным хостом и удаленным хостом. Выполнение прямой синхронизации в каталоге успешно.
вот как выглядит моя файловая система:
uploads/
1260000000/
file_11_00.jpg
file_11_01.jpg
file_12_00.jpg
1270000000/
file_11_00.jpg
file_11_01.jpg
file_12_00.jpg
1280000000/
file_11_00.jpg
file_11_01.jpg
file_12_00.jpg
то, что я хочу сделать, это запустить rsync только для файлов, которые начинаются с "file_11_" в подкаталогах, и я хочу иметь возможность запускать только один задание rsync для синхронизации всех этих файлов в подкаталогах.
вот команда, которую я пытаюсь:
rsync -nrv --include="**/file_11*.jpg" --exclude="*" /Storage/uploads/ /website/uploads/
это приводит к тому, что 0 файлов помечаются для передачи в моем сухом запуске. Я пробовал различные другие комбинации операторов -- include и --exclude, но либо продолжал не получать результатов, либо получил все, как будто не были установлены параметры include или exclude.
кто-нибудь знает, как это сделать?
3 ответов
rsync
включить исключить примеры рисунка:
"*" means everything
"dir1" transfers empty directory [dir1]
"dir*" transfers empty directories like: "dir1", "dir2", "dir3", etc...
"file*" transfers files whose names start with [file]
"dir**" transfers every path that starts with [dir] like "dir1/file.txt", "dir2/bar/ffaa.html", etc...
"dir***" same as above
"dir1/*" does nothing
"dir1/**" does nothing
"dir1/***" transfers [dir1] directory and all its contents like "dir1/file.txt", "dir1/fooo.sh", "dir1/fold/baar.py", etc...
и последнее замечание заключается в том, что просто не положиться на звездочки, которые используются в начале для оценки путей; как "**dir"
(нормально использовать их для отдельных папок или файлов, но не путей) и обратите внимание, что более двух звездочек не работают для имен файлов.