понедельник, 2 марта 2020 г.

Bacula. Удаление старых клиентов

В системе резервного копирования Bacula с годами накапливаются артефакты в виде записей относящихся к уже не существующим клиентам.

Если по какой то причине возникла необходимость полностью удалить упоминания о каком то клиенте необходимо проделать следующее:
  1. Комментируем в bacula-dir.conf ссылку на конфиг клиента.
  2. Удаляем запись о клиенте из базы данных (в моем случае postgresql):
    psql -U postgres -c "delete from client where name='client-name'" bacula
    где client-name полное имя клиента (можно посмотреть в каталоге /var/db/bacula там он представлен в виде client-name.bsr)
  3. Запустить чек базы bacula:
    dbcheck -f -b -c /usr/local/etc/bacula/bacula-dir.conf
Примерный вывод комманд:
psql -U postgres -c "delete from client where name='clientname.domain.com-fd'" bacula
DELETE 1
# dbcheck -f -b -c /usr/local/etc/bacula/bacula-dir.conf
Checking for Paths without a trailing slash
Found 3 bad Path records.
Reparing 3 bad Filename records.
Checking for Filenames with a trailing slash
Found 0 bad Filename records.
Checking for duplicate Filename entries.
Found 0 duplicate Filename records.
Checking for duplicate Path entries.
Found 0 duplicate Path records.
Checking for orphaned JobMedia entries.
Found 4 orphaned JobMedia records.
Deleting 4 orphaned JobMedia records.
Checking for orphaned File entries. This may take some time!
Found 3070 orphaned File records.
Deleting 3070 orphaned File records.
Pruning orphaned Path entries isn't possible when using BVFS.
Checking for orphaned Filename entries. This may take some time!
Found 300000 orphaned Filename records.
Deleting 300000 orphaned Filename records.
Checking for orphaned FileSet entries. This takes some time!
Found 25 orphaned FileSet records.
Deleting 25 orphaned FileSet records.
Checking for orphaned Client entries.
Found 1 orphaned Client records.
Deleting 1 orphaned Client records.
Checking for orphaned Job entries.
Found 0 orphaned Job records.
Checking for Admin Job entries.
Found 0 Admin Job records.
Checking for Restore Job entries.
Found 52 Restore Job records.
Deleting 52 Restore Job records.
Процесс весьма затяжной - возможно чек базы стоит делать достаточно регулярно, а не раз в несколько лет :-)

Комментариев нет:

Отправить комментарий