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


34

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

Ответы:


63

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

--exclude=".*"

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

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

--exclude ".*/"

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


Да, это сработало, но только когда я вырезал и вставил твой фрагмент. По какой-то причине моя клавиатура не настроена для ввода стандартной двойной кавычки. Вместо этого это делает ¨
user289455

1
Вы используете клавиатуру с активными мертвыми клавишами. Вам нужно нажать «и затем следовать за ним с помощью пробела.
Rinzwind

Ой! Это тоже сработало! Вы не знаете, как это отключить?
user289455

да ... переключить клавиатуру на "english (us)";)
Rinzwind

1
@YaroslavNikitenko извините. Там есть путаница. Должно быть написано «если вы ТОЛЬКО хотите исключить скрытые каталоги».
Rinzwind

2

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

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


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.