Rsync исключить проблемы

Rsync исключить проблемы

У меня огромное количество каталогов с похожей структурой подпапок. Каждый каталог имеет подкаталог "s". Некоторые каталоги имеют префикс "_tmp" в имени.

Я хочу скопировать все основные каталоги на новый сервер, но исключить из переноса s-subdirs и _tmp -dirst.

На OSX (rsync v. 2.6.9) эта команда работает нормально:

rsync -avz --exclude */s/* --exclude *_tmp SOURCE/ DEST/

Но в Ubuntu (rsync v. 3.0.7) та же команда не выполняется, _tmps отсутствуют, но s-folders все еще присутствуют. Есть ли обходные пути?

решение1

Я бы попросил вас предварять свою команду , чтобы echoувидеть, что вы запускаете.

echo rsync -avz --exclude */s/* --exclude *_tmp SOURCE/ DEST/

В зависимости от вашей оболочки, настроек оболочки и содержимого текущего каталога, не заключенное в кавычки *_tmpможет быть развернуто в определенный файл (который, вероятно, не будет соответствовать большинству из тех, которые вы хотите исключить). Должно быть echoпоказано, что на самом деле происходит.

Звездочки следует защищать кавычками, чтобы предотвратить расширение оболочки.

rsync -avz --exclude '*/s/*' --exclude '*_tmp' SOURCE/ DEST/

Связанный контент