LINUX.ORG.RU
решено ФорумAdmin

Bacula. Проблема с восстановлением файлов

 , , ,


0

1

Настраиваю сервер бакула. Сейчас в режиме теста. Забекапил файл /data/test

было сделано 2 бекапа 1 фул, и второй дифф. Хочу восстановить файл. Запускаю bconsole

ввожу

*restore

To select the JobIds, you have the following choices:
     1: List last 20 Jobs run
     2: List Jobs where a given File is saved
     3: Enter list of comma separated JobIds to select
     4: Enter SQL list command
     5: Select the most recent backup for a client
     6: Select backup for a client before a specified time
     7: Enter a list of files to restore
     8: Enter a list of files to restore before a specified time
     9: Find the JobIds of the most recent backup for a client
    10: Find the JobIds for a backup for a client before a specified time
    11: Enter a list of directories to restore for found JobIds
    12: Select full restore to a specified Job date
    13: Cancel
Select item:  (1-13): 2

Automatically selected Client: bacula-fd
Enter Filename (no path):test
No results to list.

не находит файл. Ок, полному пути пробую:
Select item:  (1-13): 7
Enter file names with paths, or < to enter a filename
containing a list of file names with paths, and terminate
them with a blank line.
Enter full file/data/test
Enter full filename: /data/test
No database record found for: /data/test

Если просто восстанавливаю job (пункт 12), то там файл имеется. В общем проблема по моему в том, что в базу не пишутся файлы. Почему и как это исправить?

мой конфиг очень прост


Director {                            # define myself
  Name = bacula-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/usr/libexec/bacula/query.sql"
  WorkingDirectory = "/var/spool/bacula"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 1
  Password = ""         # Console password
  Messages = Daemon
}

Catalog {
  Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:sqlite3"; dbaddress = 127.0.0.1; dbport =
  dbname = "bacula"; dbuser = ""; dbpassword = ""
}

# Reasonable message delivery -- send most everything to email address
#  and to the console
Messages {
  Name = Standard




Messages {
  Name = Daemon
  mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
  mail = root@localhost = all, !skipped
  console = all, !skipped, !saved
  append = "/var/log/bacula.log" = all, !skipped
}


#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
  Name = bacula-mon
  Password = ""
  CommandACL = status, .status
}

Job {
  Name = "test"         # Имя задания
  Type = Backup                     # Тип (backup, restore и т.д.)
  Level = Differential              # Уровень бэкапа
  Client = bacula-fd                # Имя клиента
# Дальше идут используемые ресурсы, которые будут определены ниже.
  FileSet = "test"      # Набора файлов для сохранения.
  Schedule = "WeeklyDiff"           # Расписание
  Storage = backup-storage    # Файловое хранилище
  Messages = Daemon                 # Поведение уведомлений
  Pool = main-pool                  # Пул, куда будем писать бэкапы
  Priority = 10                     # Приоритет. Давая заданиям приоритеты от 1 до 10, можно регулировать последовательность выполнения.
}

Job {
  Name = "RestoreFiles"
  Type = Restore
  Client=bacula-fd
  FileSet="test"
  Storage = backup-storage
  Pool = main-pool
  Messages = Daemon
  Where = /data/bacula-restores
}


Pool {
  Name = main-pool                    # Имя пула
  Pool Type = Backup                  # Тип пула
  Recycle = yes                       # Автоматически менять тома.
  AutoPrune = yes                     # Автоматическое удаление из БД заданий с истекшим сроком годности
  Volume Retention = 365 days
  Label Format = "testvol"
}

FileSet {
  Name = "test"        # Имя списка
  Include {
    Options {
      signature = MD5
    }
    File = /data/test
    File = /etc/              # Указываем каталог, который будем бэкапить
  }
}

Schedule {
Name = "WeeklyDiff"
Run = Level=Full on sun at 00:01
Run = Level=Differential on mon-sat at 02:02
}

Storage {
  Name = backup-storage
  Address = *****************
  SDPort = 9103
  Password = ""
  Device = FileStorage
  Media Type = File
}

Client {
  Name = bacula-fd
  Address = *************
  FDPort = 9102
  Catalog = "MyCatalog"
  Password = ""
  File Retention = 28
  Job Retention = 28
  AutoPrune = yes
}

Решил. Суть была в том, что я задания руками запускал, а не по расписанию.

Сегодня ночью бекап по расписанию сделался и поиск заработал. Видно бакула пишет некие метаданные по файлах в базу при запуске задания по расписанию.

abdus ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.