Я создаю правило исключения для bacula, чтобы оно не заботилось о кеше и временно загружало папки внутри файловой системы. Но я не могу это написать
Предположим, что эта файловая система
/filestore/user1/
/filestore/user1/uploads
/filestore/user1/user_files/uploads
/filestore/user2/uploads
/filestore/user1/user_files/
Главное правило резервного копирования гласит
File = /filestore
И исключить правило
wilddir = "/filestore/*/uploads/
Но будет соответствовать всем папкам «загрузки». Есть ли простой способ/подстановочный знак/регулярное выражение, чтобы соответствовать только папке загрузки первого уровня. Чтобы было ясно:
/filestore/user1/uploads #match
/filestore/user1/user_files/uploads # not match
/filestore/user2/uploads #match
Гонсало Цао
1 ответ
Наконец я нашел это, вы можете сделать это с помощью регулярного выражения, но в этом конкретном случае вы должны убедиться, что он работает с Bacula
regexdir = "/filestore/[^/]+/uploads"
regexdir = "/filestore/[^/]+/cache"
вместо использования Wilddir, который работает только с подстановочными знаками. В документации Bacula говорится, что использование регулярного выражения менее эффективно, но в данном случае обязательно.
Существует очень полезная команда под названием «bregex», которая позволяет вам тестировать механизм регулярных выражений bacula без необходимости проходить полный процесс планирования.
Я отредактирую заголовок вопроса, чтобы сделать его понятным для других людей, которые могут быть заинтересованы.
Гонсало Цао