Kosa Attila
2006-01-23 12:11:18 UTC
Hello!
Debian Sarge, a tesztelt bacula-verziok: 1.36.2-2sarge1 es 1.36.3-2.
A bacula-dir.conf fajl tartalma:
Director {
Name = baculaserver-dir
DIRport = 9101
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 100
FD Connect Timeout = 3minutes
SD Connect Timeout = 3minutes
Password =
Messages = Daemon
}
Messages {
Name = Standard
mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
mail = ***@localhost = all, !skipped
operator = ***@localhost = mount
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
Messages {
Name = Daemon
mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
mail = ***@localhost = all, !skipped
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
Console {
Name = baculaserver-mon
Password =
CommandACL = status, .status
}
JobDefs {
Name = "Default Job"
Type = Backup
Level = Full
Messages = Standard
Rerun Failed Levels = yes
Priority = 10
Maximum Concurrent Jobs = 100
}
Client {
Name = baculaserver-fd
Address = baculaserver
FDPort = 9102
Catalog = MyCatalog
Password =
File Retention = 2 days
Job Retention = 6 days
AutoPrune = yes
Maximum Concurrent Jobs = 100
}
Storage {
Name = "Tizperces Storage"
Address = baculaserver
SDPort = 9103
Password =
Device = "Tizperces Device"
Media Type = File
Maximum Concurrent Jobs = 100
}
Pool {
Name = "Tizperces Pool"
Pool Type = Backup
Volume Use Duration = 0minutes
LabelFormat = "BaculaserverTizperces-"
Catalog Files = yes
AutoPrune = yes
Volume Retention = 65minutes
Recycle = yes
Accept Any Volume = yes
Maximum Volume Jobs = 1
Maximum Volumes = 7
}
Job {
Name = "BaculaServer Tizperces Job"
Client = baculaserver-fd
JobDefs = "Default Job"
FileSet = "Tizperces FileSet"
Storage = "Tizperces Storage"
Pool = "Tizperces Pool"
Schedule = "Tizperces Schedule"
Max Start Delay = 2minutes
Max Wait Time = 5minutes
Write Bootstrap = "/var/lib/bacula/baculaserver-tizperces.bsr"
Priority = 7
}
FileSet {
Name = "Tizperces FileSet"
Include {
Options {
signature = MD5
compression = GZIP9
recurse = yes
hardlinks = yes
aclsupport = no
ignore case = no
}
File = /demo
}
}
Schedule {
Name = "Tizperces Schedule"
Run = Level=Full hourly at 0:05
Run = Level=Full hourly at 0:15
Run = Level=Full hourly at 0:25
Run = Level=Full hourly at 0:35
Run = Level=Full hourly at 0:45
Run = Level=Full hourly at 0:55
}
Client {
Name = kliens-fd
Address = kliens
FDPort = 9102
Catalog = MyCatalog
Password =
File Retention = 2 days
Job Retention = 6 days
AutoPrune = yes
Maximum Concurrent Jobs = 100
}
Pool {
Name = "Kliens Tizperces Pool"
Pool Type = Backup
Volume Use Duration = 0minutes
LabelFormat = "KliensTizperces-"
Catalog Files = yes
AutoPrune = yes
Volume Retention = 65minutes
Recycle = yes
Accept Any Volume = yes
Maximum Volume Jobs = 1
Maximum Volumes = 7
}
Job {
Name = "Kliens Tizperces Job"
Client = kliens-fd
JobDefs = "Default Job"
FileSet = "Tizperces FileSet"
Storage = "Tizperces Storage"
Pool = "Kliens Tizperces Pool"
Schedule = "Tizperces Schedule"
Max Start Delay = 2minutes
Max Wait Time = 5minutes
Write Bootstrap = "/var/lib/bacula/kliens-tizperces.bsr"
Priority = 7
}
Job {
Name = "Restore Baculaserver Tizperces Job"
Type = Restore
Client = baculaserver-fd
FileSet = "Tizperces FileSet"
Storage = "Tizperces Storage"
Pool = "Tizperces Pool"
Messages = Standard
Where = /backup/bacula-restores
}
Job {
Name = "Restore Kliens Tizperces Job"
Type = Restore
Client = kliens-fd
FileSet = "Tizperces FileSet"
Storage = "Tizperces Storage"
Pool = "Kliens Tizperces Pool"
Messages = Standard
Where = /tmp/bacula-restores
}
Catalog {
Name = MyCatalog
dbname = bacula; DB Address = localhost; user = bacula; password = "NONE"
}
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
}
File = /var/lib/bacula/bacula.sql
}
}
Job {
Name = "Adatbazis Mento Job"
JobDefs = "Default Job"
Client = baculaserver-fd
FileSet = "Catalog"
Schedule = "Tizperces Schedule"
Storage = "Tizperces Storage"
Pool = "Tizperces Catalog Pool"
RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup -U postgres"
RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
Write Bootstrap = "/var/lib/bacula/BackupCatalog.bsr"
Max Start Delay = 5minutes
Max Wait Time = 6minutes
Priority = 11
}
Pool {
Name = "Tizperces Catalog Pool"
Pool Type = Backup
Volume Use Duration = 10minutes
LabelFormat = "TizpercesCatalog-"
Catalog Files = yes
AutoPrune = yes
Volume Retention = 65minutes
Recycle = yes
Accept Any Volume = yes
Maximum Volume Jobs = 1
Maximum Volumes = 7
}
A bacula-fd.conf fajl tartalma:
Director {
Name = baculaserver-dir
Password =
}
Director {
Name = baculaserver-mon
Password =
Monitor = yes
}
FileDaemon {
Name = baculaserver-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 100
Heartbeat Interval = 60
SDConnectTimeout = 3minutes
}
Messages {
Name = Standard
director = baculaserver-dir = all, !skipped
}
A bacula-sd.conf fajl tartalma:
Storage {
Name = baculaserver-sd
SDPort = 9103
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 100
Heartbeat Interval = 60
}
Director {
Name = baculaserver-dir
Password =
}
Director {
Name = baculaserver-mon
Password =
Monitor = yes
}
Device {
Name = "Tizperces Device"
Media Type = File
Archive Device = /backup/tizperces
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
Messages {
Name = Standard
director = baculaserver-dir = all
}
Mindharom mentes 10 percenkent fut. A Catalog mentese 11-es, a
masik ketto 10-es prioritassal. Az egyik gondom, hogy sosem
inditja parhuzamosan a ket azonos prioritasu Job-ot. Egy masik
gond, hogy ha a kliens mentese kozben kihuzom a halokabelt a
kliensbol (mikozben mar folyik a mentes, de meg nem fejezodott
be), akkor megall az elet, es soha tobbet semmilyen mentesre nem
hajlando (amig helyre nem all a halozati kapcsolat, de neha meg
utana sem), minden kovetkezo Job-ot eldobal ("marked to be
canceled"), es nem csak annak a kliensnek a Job-jait, hanem
minden Job-ot, tehat semmilyen mentes nincs.
Ha strace-szel megnezem a megfelelo folyamatot, akkor ennyi
latszik:
time(NULL) = 1138012903
nanosleep({197, 0}, NULL) = 0
time(NULL) = 1138013100
time(NULL) = 1138013100
rt_sigaction(SIGUSR2, {0x402437a0, ~[], SA_RESTORER, 0x403a16f8}, NULL, 8) = 0
open("/dev/null", O_RDONLY|O_LARGEFILE) = 13
close(13) = 0
time(NULL) = 1138013100
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
send(8, "Q\0\0\0\313INSERT INTO Job (Job,Name,T"..., 204, 0) = 204
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
poll([{fd=8, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1
recv(8, "C\0\0\0\24INSERT 945092 1\0Z\0\0\0\5I", 16384, 0) = 27
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
send(8, "Q\0\0\0$SELECT currval(\'Job_Jobid_s"..., 37, 0) = 37
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
poll([{fd=8, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1
recv(8, "T\0\0\0 \0\1currval\0\0\0\0\0\0\0\0\0\0\24\0\10\377\377"..., 16384, 0) = 65
time(NULL) = 1138013100
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
write(5, " _$@\0\0\0\0\250W\f\10\20\267\5\10`W\f\10\0\0\0\200\0\0"..., 148) = 148
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
rt_sigsuspend([] <unfinished ...>
--- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
A kerdeseim:
- Hogyan lehet rabeszelni, hogy parhuzamosan futtasson Job-okat?
- Hogyan lehet rabeszelni, hogy halozati problema eseten ne
alljon le?
Debian Sarge, a tesztelt bacula-verziok: 1.36.2-2sarge1 es 1.36.3-2.
A bacula-dir.conf fajl tartalma:
Director {
Name = baculaserver-dir
DIRport = 9101
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 100
FD Connect Timeout = 3minutes
SD Connect Timeout = 3minutes
Password =
Messages = Daemon
}
Messages {
Name = Standard
mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
mail = ***@localhost = all, !skipped
operator = ***@localhost = mount
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
Messages {
Name = Daemon
mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
mail = ***@localhost = all, !skipped
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
Console {
Name = baculaserver-mon
Password =
CommandACL = status, .status
}
JobDefs {
Name = "Default Job"
Type = Backup
Level = Full
Messages = Standard
Rerun Failed Levels = yes
Priority = 10
Maximum Concurrent Jobs = 100
}
Client {
Name = baculaserver-fd
Address = baculaserver
FDPort = 9102
Catalog = MyCatalog
Password =
File Retention = 2 days
Job Retention = 6 days
AutoPrune = yes
Maximum Concurrent Jobs = 100
}
Storage {
Name = "Tizperces Storage"
Address = baculaserver
SDPort = 9103
Password =
Device = "Tizperces Device"
Media Type = File
Maximum Concurrent Jobs = 100
}
Pool {
Name = "Tizperces Pool"
Pool Type = Backup
Volume Use Duration = 0minutes
LabelFormat = "BaculaserverTizperces-"
Catalog Files = yes
AutoPrune = yes
Volume Retention = 65minutes
Recycle = yes
Accept Any Volume = yes
Maximum Volume Jobs = 1
Maximum Volumes = 7
}
Job {
Name = "BaculaServer Tizperces Job"
Client = baculaserver-fd
JobDefs = "Default Job"
FileSet = "Tizperces FileSet"
Storage = "Tizperces Storage"
Pool = "Tizperces Pool"
Schedule = "Tizperces Schedule"
Max Start Delay = 2minutes
Max Wait Time = 5minutes
Write Bootstrap = "/var/lib/bacula/baculaserver-tizperces.bsr"
Priority = 7
}
FileSet {
Name = "Tizperces FileSet"
Include {
Options {
signature = MD5
compression = GZIP9
recurse = yes
hardlinks = yes
aclsupport = no
ignore case = no
}
File = /demo
}
}
Schedule {
Name = "Tizperces Schedule"
Run = Level=Full hourly at 0:05
Run = Level=Full hourly at 0:15
Run = Level=Full hourly at 0:25
Run = Level=Full hourly at 0:35
Run = Level=Full hourly at 0:45
Run = Level=Full hourly at 0:55
}
Client {
Name = kliens-fd
Address = kliens
FDPort = 9102
Catalog = MyCatalog
Password =
File Retention = 2 days
Job Retention = 6 days
AutoPrune = yes
Maximum Concurrent Jobs = 100
}
Pool {
Name = "Kliens Tizperces Pool"
Pool Type = Backup
Volume Use Duration = 0minutes
LabelFormat = "KliensTizperces-"
Catalog Files = yes
AutoPrune = yes
Volume Retention = 65minutes
Recycle = yes
Accept Any Volume = yes
Maximum Volume Jobs = 1
Maximum Volumes = 7
}
Job {
Name = "Kliens Tizperces Job"
Client = kliens-fd
JobDefs = "Default Job"
FileSet = "Tizperces FileSet"
Storage = "Tizperces Storage"
Pool = "Kliens Tizperces Pool"
Schedule = "Tizperces Schedule"
Max Start Delay = 2minutes
Max Wait Time = 5minutes
Write Bootstrap = "/var/lib/bacula/kliens-tizperces.bsr"
Priority = 7
}
Job {
Name = "Restore Baculaserver Tizperces Job"
Type = Restore
Client = baculaserver-fd
FileSet = "Tizperces FileSet"
Storage = "Tizperces Storage"
Pool = "Tizperces Pool"
Messages = Standard
Where = /backup/bacula-restores
}
Job {
Name = "Restore Kliens Tizperces Job"
Type = Restore
Client = kliens-fd
FileSet = "Tizperces FileSet"
Storage = "Tizperces Storage"
Pool = "Kliens Tizperces Pool"
Messages = Standard
Where = /tmp/bacula-restores
}
Catalog {
Name = MyCatalog
dbname = bacula; DB Address = localhost; user = bacula; password = "NONE"
}
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
}
File = /var/lib/bacula/bacula.sql
}
}
Job {
Name = "Adatbazis Mento Job"
JobDefs = "Default Job"
Client = baculaserver-fd
FileSet = "Catalog"
Schedule = "Tizperces Schedule"
Storage = "Tizperces Storage"
Pool = "Tizperces Catalog Pool"
RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup -U postgres"
RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
Write Bootstrap = "/var/lib/bacula/BackupCatalog.bsr"
Max Start Delay = 5minutes
Max Wait Time = 6minutes
Priority = 11
}
Pool {
Name = "Tizperces Catalog Pool"
Pool Type = Backup
Volume Use Duration = 10minutes
LabelFormat = "TizpercesCatalog-"
Catalog Files = yes
AutoPrune = yes
Volume Retention = 65minutes
Recycle = yes
Accept Any Volume = yes
Maximum Volume Jobs = 1
Maximum Volumes = 7
}
A bacula-fd.conf fajl tartalma:
Director {
Name = baculaserver-dir
Password =
}
Director {
Name = baculaserver-mon
Password =
Monitor = yes
}
FileDaemon {
Name = baculaserver-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 100
Heartbeat Interval = 60
SDConnectTimeout = 3minutes
}
Messages {
Name = Standard
director = baculaserver-dir = all, !skipped
}
A bacula-sd.conf fajl tartalma:
Storage {
Name = baculaserver-sd
SDPort = 9103
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 100
Heartbeat Interval = 60
}
Director {
Name = baculaserver-dir
Password =
}
Director {
Name = baculaserver-mon
Password =
Monitor = yes
}
Device {
Name = "Tizperces Device"
Media Type = File
Archive Device = /backup/tizperces
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
Messages {
Name = Standard
director = baculaserver-dir = all
}
Mindharom mentes 10 percenkent fut. A Catalog mentese 11-es, a
masik ketto 10-es prioritassal. Az egyik gondom, hogy sosem
inditja parhuzamosan a ket azonos prioritasu Job-ot. Egy masik
gond, hogy ha a kliens mentese kozben kihuzom a halokabelt a
kliensbol (mikozben mar folyik a mentes, de meg nem fejezodott
be), akkor megall az elet, es soha tobbet semmilyen mentesre nem
hajlando (amig helyre nem all a halozati kapcsolat, de neha meg
utana sem), minden kovetkezo Job-ot eldobal ("marked to be
canceled"), es nem csak annak a kliensnek a Job-jait, hanem
minden Job-ot, tehat semmilyen mentes nincs.
Ha strace-szel megnezem a megfelelo folyamatot, akkor ennyi
latszik:
time(NULL) = 1138012903
nanosleep({197, 0}, NULL) = 0
time(NULL) = 1138013100
time(NULL) = 1138013100
rt_sigaction(SIGUSR2, {0x402437a0, ~[], SA_RESTORER, 0x403a16f8}, NULL, 8) = 0
open("/dev/null", O_RDONLY|O_LARGEFILE) = 13
close(13) = 0
time(NULL) = 1138013100
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
send(8, "Q\0\0\0\313INSERT INTO Job (Job,Name,T"..., 204, 0) = 204
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
poll([{fd=8, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1
recv(8, "C\0\0\0\24INSERT 945092 1\0Z\0\0\0\5I", 16384, 0) = 27
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
send(8, "Q\0\0\0$SELECT currval(\'Job_Jobid_s"..., 37, 0) = 37
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
poll([{fd=8, events=POLLIN|POLLERR, revents=POLLIN}], 1, -1) = 1
recv(8, "T\0\0\0 \0\1currval\0\0\0\0\0\0\0\0\0\0\24\0\10\377\377"..., 16384, 0) = 65
time(NULL) = 1138013100
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
write(5, " _$@\0\0\0\0\250W\f\10\20\267\5\10`W\f\10\0\0\0\200\0\0"..., 148) = 148
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
rt_sigsuspend([] <unfinished ...>
--- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
A kerdeseim:
- Hogyan lehet rabeszelni, hogy parhuzamosan futtasson Job-okat?
- Hogyan lehet rabeszelni, hogy halozati problema eseten ne
alljon le?
--
Udvozlettel
Zsiga
Udvozlettel
Zsiga