rsync исключить скрытые файлы не работает!

34

Я искал по всему интернету, и все предлагают одно и то же - добавление --exclude=´.*´должно исключать скрытые файлы и папки из rsync. Это не так. Я также попытался добавить косую черту и / или двойные кавычки, например. --exclude=¨\.*¨Ничто не похоже на работу. AGH !! Был бы очень признателен за помощь.

user289455
источник

Ответы:

63

Обе версии, которые вы показываете, неверны. Вам нужно использовать двойные кавычки.

--exclude=".*"

работает и исключает скрытые файлы и каталоги.

Если вы хотите исключить только скрытые каталоги:

--exclude ".*/"

Я использую его ежедневно для резервного копирования.

Rinzwind
источник
Да, это сработало, но только когда я вырезал и вставил твой фрагмент. По какой-то причине моя клавиатура не настроена для ввода стандартной двойной кавычки. Вместо этого это делает ¨
user289455
1
Вы используете клавиатуру с активными мертвыми клавишами. Вам нужно нажать «и затем следовать за ним с помощью пробела.
Rinzwind
Ой! Это тоже сработало! Вы не знаете, как это отключить?
user289455
да ... переключить клавиатуру на "english (us)";)
Rinzwind
1
@YaroslavNikitenko извините. Там есть путаница. Должно быть написано «если вы ТОЛЬКО хотите исключить скрытые каталоги».
Rinzwind
2

Я использую это выражение: --exclude=".[!.]*"

Работает хорошо для меня, исключая скрытые файлы и каталоги.

jonathanbell
источник
0

--exclude="/.*"Вы \указываете неправильный путь.

rsync -a --exclude="/.*" ./ /path/to/sync
пантера
источник
2
Нет необходимости в том, что / :) он не использует "s". Если ему нужен a / is, он должен быть в конце, чтобы исключить dirs.
Rinzwind
0

Откройте текстовый файл exclude_me.txtи введите следующее:.[a-z]*

Затем выполните следующее:

rsync -avh --exclude-from='exclude_me.txt' /path/of/Source /path/of/Destination
Абель Том
источник