[debian] bacula : backup retentie instellen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Topicstarter
Hoihoi

Ik ben bezig met een goede uitrol van bacula te doen maar het is me niet helemaal duidelijk hoe ik nou een goed schema bouw daarmee.

Opstelling:


- Machine 'leiden' (mijn woonplaats, hij staat thuis achter een dikke internetpijp) waar een NAS aan hangt. Veel storage beschikbaar.
- +- 30 remote machines, voornamelijk 100/100mbit VMs.

Alles is debian.

Qua schema:
Wat ik graag wil is elke dag een nieuwe incrementele backup maken van die clients, en wekelijks een volledige backup.
Deze volledige backup wil ik 4 generaties bewaren, en 1x per 3 maanden een snapshot bewaren.

Nu heb ik bijv. deze pagina gelezen http://www.bacula.org/en/...ic_Volume_Management.html maar ik kom er nog steeds niet echt uit hoe ik dat rond moet krijgen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
JobDefs {
  Name = "www2-weekly"
  Type = Backup
  Level = Incremental
  Client =  www2
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = leiden-filestorage
  Messages = Standard
  Pool = LeidenPool
  Priority = 10
}


#
# Define the main nightly save backup job
#   By default, this job will back up to disk in /nonexistant/path/to/file/archive/dir
Job {
  Name = "www2job"
  JobDefs = "www2-weekly"
  Write Bootstrap = "/var/lib/bacula/Client1.bsr"
}

# Client (File Services) to backup
Client {
  Name = www2
  Address = blah
  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
}

Heb ik nu staan in mijn Director.

Ik zie wel dat ik netjes de default Schedule heb staan in de director:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#
# When to do the backups, full backup on first sunday of the month,
#  differential (i.e. incremental since full) every other sunday,
#  and incremental backups other days
Schedule {
  Name = "WeeklyCycle"
  Run = Full 1st sun at 23:05
  Run = Differential 2nd-5th sun at 23:05
  Run = Incremental mon-sat at 23:05
}

# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
  Name = "WeeklyCycleAfterBackup"
  Run = Full sun-sat at 23:10
}

Dus dat zou wekelijks al voor elkaar moeten komen.


Punt is dat ik eerlijk gezegd door de bomen het bos niet meer zie hoe ik zo'n schema goed implementeer (en test). Hoe doe ik dat nou handig?


En als laatste:
code:
1
2
3
4
5
6
7
8
9
10
# Default pool definition
Pool {
  Name = LeidenPool
  LabelFormat = "LeidenVol"
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Volume Use Duration = 23h
}



Die 23h h eb ik ingesteld zodat er elke dag een nieuw volume wordt gebruikt :).

[ Voor 22% gewijzigd door Boudewijn op 06-07-2011 14:49 ]

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • silentsnake
  • Registratie: September 2003
  • Laatst online: 04-10 08:03
Boudewijn schreef op woensdag 06 juli 2011 @ 14:44:
Wat ik graag wil is elke dag een nieuwe incrementele backup maken van die clients, en wekelijks een volledige backup.
Deze volledige backup wil ik 4 generaties bewaren, en 1x per 3 maanden een snapshot bewaren.
Ik snap niet wat je hier mee bedoeld. Wil je een full backup 4 maanden bewaren? En 1x in de 3 maanden een differential backup? Wat wil je precies bereiken?
code:
1
2
3
4
5
6
7
8
9
10
11
# Client (File Services) to backup
Client {
  Name = www2
  Address = blah
  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
}
Je bewaard de file entries dus 30 dagen in je catalog en jobs voor 6 maanden. Da's leuk, maar als de files al uit je catalog gepruned zijn heb je er dus niks aan.
code:
1
2
3
4
5
6
7
8
9
# When to do the backups, full backup on first sunday of the month,
#  differential (i.e. incremental since full) every other sunday,
#  and incremental backups other days
Schedule {
  Name = "WeeklyCycle"
  Run = Full 1st sun at 23:05
  Run = Differential 2nd-5th sun at 23:05
  Run = Incremental mon-sat at 23:05
}
Je hebt hier dus elke maand een Full backup op de als de eerste dag van de maand op een zondag valt. Een differential elke maand als de 2e tot de 5e op een zondag valt, en maandag t/m zaterdag elke dag een incremental. Dit is dus, zover ik het begrijp, niet wat je wilt? Of wel? Het is sowieso mij niet duidelijk wat je nou precies wilt bereiken.
code:
1
2
3
4
5
6
7
8
9
10
# Default pool definition
Pool {
  Name = LeidenPool
  LabelFormat = "LeidenVol"
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Volume Use Duration = 23h
}

Die 23h h eb ik ingesteld zodat er elke dag een nieuw volume wordt gebruikt :).
Let wel op dat, volgens mij, de volumes oneindig groeien (in aantallen) en er geen volumes worden gerecycled voor 365 dagen aangezien de retention op 365 dagen staat. Deze wil je korter hebben, en bij voorkeur wil je ook een limiet aan de hoeveelheid files die je wilt zodat Bacula na het prunen ook daadwerkelijk je volumes kan recyclen. Bacula gaat pas volumes hergebruiken als last resort, ookal zijn ze uit de catalog gepurged.

Ik heb helaas geen voorbeeld configs meer voor je aangezien die allemaal bij de vorige werkgever stonden.