Toon posts:

[debian] bacula : backup retentie instellen

Pagina: 1
Acties:

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online
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]

Ik ben verslaafd aan koken. Volg me op https://www.kookjunk.nl


Acties:
  • 0Henk 'm!

  • silentsnake
  • Registratie: September 2003
  • Laatst online: 06:25
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.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee