У меня есть этот скрипт:

#!bin/bash
AMB="specific_dir*/***"
SRC="/path/to/dir/"
DST_1="user@host1:~/path/to/dest/"
DST_2="virkantas@host2:~/path/to/dest/"
DST_3="nodbaltic@host3:~/path/to/dest/"
for DEST in $DST_1 $DST_2 $DST_3; do
    rsync -av --include=$AMB --exclude='*' $SRC $DEST
done

Он синхронизирует каталоги, имена которых там начинаются с 'specific_dir' и всего, что находится внутри, за исключением всех других каталогов, которые находятся в каталоге SRC . Это хорошо, но я также хочу исключить файлы .pyc которые находятся в этих каталогах specific_dir .

Как я могу указать, что исключать из каталогов, которые там включены (или просто как исключить файлы .pyc , но соблюдая правило для исключения всех остальных каталогов)?

1 ответ1

1

Пытаться

rsync -av --exclude='specific_dir*/***.pyc' --include='specific_dir*/***' --exclude='*' $SRC $DEST

NB: важен порядок правил фильтрации (например: include, exclude).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .