Как идет процесс бэкапа при работающей БД? Как Бакула поступает с используемыми в настоящий момент таблицами?
>Как идет процесс бэкапа при работающей БД? Как Бакула поступает с используемыми
>в настоящий момент таблицами?Nikak. Kopirujet faili i vse.
>>Как идет процесс бэкапа при работающей БД? Как Бакула поступает с используемыми
>>в настоящий момент таблицами?
>
>Nikak. Kopirujet faili i vse.Т.е могут быть косяки при восстановлении БД (Postgresql)?
И есть ещё один вопрос - как правильно настроить ротацию архивов, чтобы при каждом монтировании Бакула удаляла сама все архивы и записывала текущий на чистую ленту?
>>>Как идет процесс бэкапа при работающей БД? Как Бакула поступает с используемыми
>>>в настоящий момент таблицами?
>>
>>Nikak. Kopirujet faili i vse.
>
>Т.е могут быть косяки при восстановлении БД (Postgresql)?Могут. Если есть способ "заморозить" базу перед бэкапом -- надо им воспользоваться.
>И есть ещё один вопрос - как правильно настроить ротацию архивов, чтобы
>при каждом монтировании Бакула удаляла сама все архивы и записывала текущий
>на чистую ленту?purge current volume = yes?
Уточните, что такое "ротация архивов"...
Подскажите почему происходит такая ерунда - при создании бэкапа постоянно просит один и тот же том (Среду) Please mount Volume "Wednesday" on Storage Device "Ultrium 1-SCSI" (/dev/nst0)
А тот том, который установлен помечает как Used. 8 | Thursday | Used | 1 | 9779438592 | 10 | 604800 | 1 | 0 | 1 | LTO | 2007-10-25 23:11:55
Вот мой Pool
Pool {
Name = BaculaPool
Pool Type = Backup
Catalog Files = yes
Purge Oldest Volume = yes
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Maximum Volume Jobs = 1
Volume Retention = 15 days # one week
}
>Подскажите почему происходит такая ерунда - при создании бэкапа постоянно просит один
>и тот же том (Среду) Please mount Volume "Wednesday" on Storage
>Device "Ultrium 1-SCSI" (/dev/nst0)
>А тот том, который установлен помечает как Used. 8 | Thursdayпотому, что
> Maximum Volume Jobs = 1
а вот это интересно. какие-нибудь слова про prune/purge в логе есть?
> Purge Oldest Volume = yes
>[оверквотинг удален]
>>А тот том, который установлен помечает как Used. 8 | Thursday
>
>потому, что
>
>> Maximum Volume Jobs = 1
>
>а вот это интересно. какие-нибудь слова про prune/purge в логе есть?
>
>
>> Purge Oldest Volume = yesчто вообще нужно написать чтобы:
- на 5 ленточек (пон-птн) записывался каждый день бэкап
- через неделю старый бэкап стирался и записывался новый
- чейнджера нет, ленты меняются каждый день вручную
- всего бэкапится 2 директории на разных клиентах
- бэкап пишется на ленту, которая смонтирована
Я предполагаю это так:
Pool {
Name = WeekPool
Pool Type = Backup # создаем резервные копии
Catalog Files = yes # записываем в БД список сохраненных файлов
Maximum Volume Jobs = 2 # разрешаем выполнять 2 задания для тома (пишем с 2-х клиентов)
Volume Retention = 6 day # сохраняем запись в БД о заданиях до следующего такого же дня недели
AutoPrune = yes # как только проходит неделя - очищаем том
Recycle = yes # и пишем на него по новойRecycle Current Volume = yes #???? (нужно ли?) удаляем том, если он очищен и используем по новой
После того как прописал пул вот так:
Pool {
Name = WeekPool
Pool Type = Backup # создаем
резервные копии
Catalog Files = yes # записываем в
БД список сохраненных файлов
Maximum Volume Jobs = 2 # разрешаем выполнять 2 задания для
тома (пишем с 2-х клиентов)
Volume Retention = 6 day # сохраняем запись в БД о заданиях
до следующего такого же дня
недели
Purge Oldest Volume = yes #помечаем самый старый том как Recycle
AutoPrune = yes
# как только проходит неделя - очищаем том
Recycle = yes # при надобности ищем том с пометкой Recycle и пишем на негоПомечать то помечает как надо, но записывать в него не хочет, пишет смонтируйте том такой-то (тот который помечен как Recycle), а он уже смонтирован! Что за фигня? Что я не так указал?
>Purge Oldest Volume = yes #помечаем самый старый том как Recycleэто лишнее
>Помечать то помечает как надо, но записывать в него не хочет, пишет
>смонтируйте том такой-то (тот который помечен как Recycle), а он уже
>смонтирован! Что за фигня? Что я не так указал?Не знаю. скажите номер версии и покажите конфиг bacula-dir, bacula-sd целиком (минус пароли).
Версия Бакулы - bacula-2.0.3***************** bacula-sd.conf: ********************************
Storage { # definition of myself
Name = corporateDB-sd
SDPort = 6545 # Director's port
WorkingDirectory = "/backup/working"
Pid Directory = "/backup/working"
Maximum Concurrent Jobs = 20
}Director {
Name = corporateDB-dir
Password = "*****"
}
Director {
Name = corporateDB-mon
Password = "*****"
Monitor = yes
}
Device {
Name = "Ultrium 1-SCSI" #
Media Type = LTO
Archive Device = /dev/nst0
Device Type = Tape
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = no;
}Messages {
Name = Standard
director = corporateDB-dir = all
}************ bacula-dir.conf ******************************
Director { # define myself
Name = corporateDB-dir
DIRport = 6543 # where we listen for UA connections
QueryFile = "/backup/etc/query.sql"
WorkingDirectory = "/backup/working"
PidDirectory = "/backup/working"
Maximum Concurrent Jobs = 1
Password = "******" # Console password
Messages = Daemon
}JobDefs {
Name = "BackupCDB"
Type = Backup
Level = Full
Client = corporateDB-fd
FileSet = "Only needed dirs"
Schedule = "AppBaculaCycle_MonFri"
Storage = "Ultrium 1-SCSI"
Messages = Standard
Pool = BaculaPool
Priority = 10
}
JobDefs {
Name = "WINServ"
Type = Backup
Level = Full
Client = winserv-fd
FileSet = "Winfile"
Schedule = "AppBaculaCycle_MonFri"
Storage = "Ultrium 1-SCSI"
Messages = Standard
Pool = BaculaPool
Priority = 10
}
JobDefs {
Name = "BackupCDB_m"
Type = Backup
Level = Full
Client = corporateDB-fd
FileSet = "Only needed dirs"
Schedule = "AppBaculaCycle_Month"
Storage = "Ultrium 1-SCSI"
Messages = Standard
Pool = BaculaPool_m
Priority = 10
}
JobDefs {
Name = "WinServ_m"
Type = Backup
Level = Full
Client = winserv-fd
FileSet = "Winfile"
Schedule = "AppBaculaCycle_Month"
Storage = "Ultrium 1-SCSI"
Messages = Standard
Pool = BaculaPool_m
Priority = 10
}Job {
Name = "CorpDB"
JobDefs = "BackupCDB"
Write Bootstrap = "/backup/working/Client1.bsr"
}
Job {
Name = "WinBackup"
JobDefs = "WinServ"
Write Bootstrap = "/backup/working/Client2.bsr"
}Job {
Name = "CorpDB_m"
JobDefs = "BackupCDB_m"
Write Bootstrap = "/backup/working/Client3.bsr"
}
Job {
Name = "NTBackup_m"
JobDefs = "NTServ_m"
Write Bootstrap = "/backup/working/Client4.bsr"
}FileSet {
Name = "Winfile"
Include {
Options {
signature = MD5
}
File = "c:/Winfile"
}
}FileSet {
Name = "Only needed dirs"
Include {
Options {
signature = MD5
}
File = /bin
File = /boot
File = /etc
File = /home
File = /lib
File = /lost+found
File = /opt
File = /pgsql
File = /root
File = /sbin
File = /srv
File = /sys
File = /usr/local
File = /usr/X11R6
File = /usr/bin
File = /usr/doc
File = /usr/include
File = /usr/lib
File = /usr/sbin
File = /usr/share
File = /var
}Exclude {
File = /usr/local/src
File = /var/log
File = /var/tmp
File = /var/run
}
}Schedule {
Name = "AppBaculaCycle_MonFri"
Run = Full mon-fri at 23:00
}Schedule {
Name = "AppBaculaCycle_Month"
Run = Full 1st monthly at 18:00
}
Client {
Name = corporateDB-fd
Address = 192.168.0.3
FDPort = 6544
Catalog = MyCatalog
Password = "*****" # password for FileDaemon
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
}
Client {
Name = winserv-fd
Address = 192.168.0.7
FDPort = 9102
Catalog = MyCatalog
Password = "******" # password for FileDaemon
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
}Storage {
Name = "Ultrium 1-SCSI"
Address = 192.168.0.3 # N.B. Use a fully qualified name here
SDPort = 6545
Password = "*****"
Device = "Ultrium 1-SCSI"
Media Type = LTO
}Catalog {
Name = MyCatalog
dbname = bacula; user = bacula; password = ""
}Messages {
Name = Standardmailcommand = "/backup/sbin/bsmtp -h myserv.ru -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/backup/sbin/bsmtp -h myserv.ru -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
mail = backup@myserv.ru = all, !skipped
operator = backup@myserv.ru = mount
console = all, !skipped, !saved
append = "/backup/working/log" = all, !skipped
}
Messages {
Name = Daemon
mailcommand = "/backup/sbin/bsmtp -h myserv.ru -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
mail = backup@myserv.ru = all, !skipped, !error
console = all, !skipped, !saved
append = "/var/log/bacula.log" = all, !skipped
}Pool {
Name = BaculaPool
Pool Type = Backup
Catalog Files = yes # записываем в БД список сохраненных файлов
Maximum Volume Jobs = 2 # разрешаем выполнять 2 задания для тома (пишем с 2-х клиентов)
Volume Retention = 6 day # сохраняем запись в БД о заданиях до следующего такого же дня недели
Purge Oldest Volume = yes# если ничего нет для записи, очищаем самый старый
AutoPrune = yes # как только проходит неделя - очищаем том
Recycle = yes # и пишем на него по новой
}Pool {
Name = BaculaPool_m
Pool Type = Backup
Catalog Files = yes
Recycle Current Volume = yes
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Maximum Volume Jobs = 2
Volume Retention = 60 days # two month
}Console {
Name = corporateDB-mon
Password = "*******"
CommandACL = status, .status
}
Выложить - выложил, а дальше то что?