Назад | Перейти на главную страницу

Bacula создает резервные копии большего количества файлов, чем следует

У меня есть bacula, настроенная в моей небольшой сети, и для машин с Linux она, похоже, работает нормально. Я только что настроил клиент Windows, и проблема, с которой я столкнулся, заключается в том, что когда задание выполняется для клиента Windows, оно выполняет резервное копирование больше, чем должно быть. Я настроил его на резервное копирование только нескольких каталогов на моих дисках C и D, но на самом деле он выполняет резервное копирование всего диска. Если я сбегу

estimate job=job-name listing level=Full

в консоли список возвращаемых мною файлов верен и ограничен только папками, которые я выбрал.

Вот соответствующие части конфигурации директора:

FileSet {
    Name = "Windows Client Defined"
    Include {
        Options {
            signature = MD5
            compression = gzip
            onefs = no
            IgnoreCase = yes
            exclude = yes
            # Exclude directories full of lots and lots of useless little files for Windows 2008
            WildDir = "[A-Z]:/Users/*/Cookies"
            WildDir = "[A-Z]:/Users/*/Recent"
            WildDir = "[A-Z]:/Users/*/Local Settings/History"
            WildDir = "[A-Z]:/Users/*/Local Settings/Temp"
            WildDir = "[A-Z]:/Users/*/Local Settings/Temporary Internet Files"
            # Temporary directories & files
            WildDir = "[A-Z]:/Windows/Temp"
            WildDir = "[A-Z]:/Temp"
            WildFile = "*.tmp"
            WildDir = "[A-Z]:/Tmp"
            WildDir = "[A-Z]:/var/tmp"
            WildDir = "[A-Z]:/Windows/Internet Logs"
            WildDir = "[A-Z]:/Windows/$Nt*Uninstall*"
            # Recycle bins
            WildDir = "[A-Z]:/RECYCLER"
            # Swap files
            WildFile = "[A-Z]:/pagefile.sys"
            WildFile = "[A-Z]:/hiberfil.sys"
        }
        File = "\\<C:/bacula_backup_file_list"
    }
    Exclude {
        File = "\\<C:/bacula_backup_exclude_file_list"
    }
}

JobDefs {
  Name = "DefaultWindowsJob"
  Type = Backup
  Schedule = "WeeklyCycle"
  FileSet = "Windows Client Defined"
  Storage = Storage
  Messages = Standard
  Priority = 10
  Pool = Default
  Full Backup Pool = Full-Pool
  Incremental Backup Pool = Inc-Pool
  Differential Backup Pool = Diff-Pool
}

Job {
  Name = "win"
  JobDefs = "DefaultWindowsJob"
  Client = win-fd
  Write Bootstrap = "/var/lib/bacula/win.bsr"
}

Вот список bacula_backup_file_list:

C:/Users/user
C:/Documents
D:/Projects

И bacula_backup_exclude_file_list:

C:/Users/user/.m2/repository
C:/Users/user/Downloads
C:/Users/user/.android
C:/Users/user/Music
C:/Users/user/Google Drive

Я предполагаю, что в одной из этих папок есть ярлык или что-то в этом роде, указывающее на диск C, но я не уверен, где он будет, и я ожидал, что команда оценки тогда также последует за этим ярлыком.

Есть идеи, почему так много резервного копирования?

Bacula поддерживает именно то, что вы ему говорите. Вы перечислили все каталоги, которые хотите исключить (на основе ваших комментариев) в вашем включают раздел (на основе конфигурации, которую вы разместили выше).

Поместите список исключаемых каталогов с подстановочными знаками в нужное место, и Bacula сделает то, что вы хотите.

(Да, руководство Bacula не совсем ясно об этом)

Похоже, проблема заключалась в пустой строке в моем файле bacula_backup_file_list. После пустой строки в конце bacula начинает резервное копирование корня диска, а также всего, что я специально добавил; без него он будет копировать только то, что я перечислил.