Bacula - zálohování Linux serverů

Kompletní průvodce nasazením zálohovacího systému Bacula pro automatické zálohování Linux serverů s podporou Virtual Full záloh a efektivní správou diskového prostoru.

Bacula je open-source zálohovací systém podnikové třídy určený pro správu zálohování, obnovu a verifikaci dat napříč sítí. Systém je modulární a skládá se z několika komponent:

  • Director - centrální řídící komponenta, která koordinuje všechny zálohovací operace
  • Storage Daemon - spravuje úložiště záloh (disky, pásky)
  • File Daemon - běží na zálohovaných klientech a odesílá data
  • Console - rozhraní pro správu a monitoring
  • Catalog - databáze (MySQL/PostgreSQL) uchovávající metadata o zálohách

Instalace v Debian/Ubuntu

Instalace Director a Storage Daemon (zálohovací server)

apt update
apt install bacula-director-mysql bacula-sd bacula-console
Během instalace budete dotázáni na konfiguraci databáze. Zvolte automatickou konfiguraci pomocí dbconfig-common.

Instalace File Daemon (zálohovaný klient)

apt install bacula-fd

Ověření instalace

# Ověření syntaxe konfigurace
bacula-dir -t -c /etc/bacula/bacula-dir.conf

# Start služeb
systemctl enable --now bacula-director bacula-sd bacula-fd

Ukázková konfigurace

Následující konfigurace řeší zálohování jednoho serveru s těmito vlastnostmi:

  • Denní inkrementální zálohy v 01:00
  • Virtual Full zálohy 2× týdně (středa a neděle) ve 02:00
  • Automatické uvolňování diskového prostoru
  • 7denní retence dat na disku
  • 14denní retence metadat v katalogu

Konfigurace File Daemon (klient)

Tato konfigurace běží na každém zálohovaném serveru a je uložena v souboru /etc/bacula/bacula-fd.conf.

#
# Bacula File Daemon Configuration
#

FileDaemon {
  Name = server-fd
  FDport = 9102
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /run/bacula
  Maximum Concurrent Jobs = 10
  # Adresa, na které FD naslouchá (0.0.0.0 = všechny)
  FDAddress = 0.0.0.0
}

# Připojení od Directora
Director {
  Name = backup-dir
  Password = "heslo-pro-file-daemon"
}

# Lokální monitoring (volitelné)
Director {
  Name = backup-mon
  Password = "heslo-pro-monitoring"
  Monitor = yes
}

Messages {
  Name = Standard
  director = backup-dir = all, !skipped, !restored
}

Konfigurace Storage Daemon

Tato konfigurace běží na zálohovacím serveru, kde jsou uložena data a je uložena v souboru /etc/bacula/bacula-sd.conf.

#
# Bacula Storage Daemon Configuration
#

Storage {
  Name = backup-sd
  SDPort = 9103
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /run/bacula
  Maximum Concurrent Jobs = 20
  SDAddress = 0.0.0.0
}

# Připojení od Directora
Director {
  Name = backup-dir
  Password = "heslo-pro-storage-daemon"
}

# Lokální monitoring (volitelné)
Director {
  Name = backup-mon
  Password = "heslo-pro-monitoring"
  Monitor = yes
}

# Autochanger - virtuální "měnič pásek" pro diskové úložiště
Autochanger {
  Name = FileChgr1
  Device = FileChgr1-Dev1
  Device = FileChgr1-Dev2
  Device = FileChgr1-Dev3
  Changer Command = ""
  Changer Device = /dev/null
}

# Zařízení pro ukládání záloh
Device {
  Name = FileChgr1-Dev1
  Media Type = File
  Archive Device = /home/backupdb/bacula/backup
  LabelMedia = yes
  Random Access = yes
  AutomaticMount = yes
  RemovableMedia = no
  AlwaysOpen = no
  Maximum Concurrent Jobs = 5
}

Device {
  Name = FileChgr1-Dev2
  Media Type = File
  Archive Device = /home/backupdb/bacula/backup
  LabelMedia = yes
  Random Access = yes
  AutomaticMount = yes
  RemovableMedia = no
  AlwaysOpen = no
  Maximum Concurrent Jobs = 5
}

Device {
  Name = FileChgr1-Dev3
  Media Type = File
  Archive Device = /home/backupdb/bacula/backup
  LabelMedia = yes
  Random Access = yes
  AutomaticMount = yes
  RemovableMedia = no
  AlwaysOpen = no
  Maximum Concurrent Jobs = 5
}

Messages {
  Name = Standard
  director = backup-dir = all
}

Proč 3 zařízení (Device)? Autochanger s více zařízeními umožňuje paralelní operace. Každé zařízení může současně obsluhovat jeden volume, což je klíčové pro:

  1. Virtual Full zálohy - během konsolidace Bacula současně čte ze zdrojových volumes (Dev2) a zapisuje do cílového volume (Dev1). S jedním zařízením by toto nebylo možné.
  2. Paralelní zálohování více klientů - pokud zálohujete více serverů současně, každý může zapisovat do vlastního volume přes samostatné zařízení.
  3. Restore během zálohy - můžete obnovovat data (čtení) zatímco probíhá záloha jiného klienta (zápis).

Všechna zařízení ukazují na stejný adresář (Archive Device), ale Bacula je používá jako nezávislé "jednotky" pro přístup k různým volumes. Pro běžné nasazení doporučujeme 2-3 zařízení, pro větší infrastrukturu s mnoha klienty lze použít více.

Poznámka: Adresář /home/backupdb/bacula/backup musí existovat a být zapisovatelný pro uživatele bacula:

Hlavní konfigurační soubor

Je uložený v souboru /etc/bacula/bacula-dir.conf.

Director {
  Name = backup-dir
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/run/bacula"
  Maximum Concurrent Jobs = 10
  Password = "silne-heslo-pro-console"
  Messages = Daemon
}

# Výchozí nastavení pro všechny zálohovací joby
JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Schedule = "WeeklyCycle"
  Messages = Standard
  SpoolAttributes = yes
  Priority = 10
  Write Bootstrap = "/var/lib/bacula/%c.bsr"
  # Automatický upgrade na VirtualFull po 30 dnech bez Full
  Max Virtual Full Interval = 30 days
  Allow Mixed Priority = yes
  Cancel Lower Level Duplicates = yes
  Cancel Queued Duplicates = yes
}

# Zálohovací job pro server
Job {
  Name = "BackupServer"
  JobDefs = "DefaultJob"
  FileSet = "ServerFileSet"
  Pool = ServerPool
  Client = "server-fd"
  Storage = BackupStorage
  # Udržuj pouze poslední nekonsolidovaný incremental
  Backups To Keep = 1
  Delete Consolidated Jobs = Yes
  Accurate = Yes
  # Maximální čekání na start jobu
  Max Start Delay = 10h
  # Opakování při chybě
  Reschedule On Error = yes
  Reschedule Times = 3
  Reschedule Interval = 30 min
}

# Restore job
Job {
  Name = "RestoreFiles"
  Type = Restore
  Client = server-fd
  Storage = BackupStorage
  FileSet = "ServerFileSet"
  Pool = ServerPool
  Messages = Standard
  Where = /tmp/bacula-restore
}

# Definice zálohovaných souborů
FileSet {
  Name = "ServerFileSet"
  Include {
    Options {
      signature = MD5
      compression = GZIP
    }
    # Vyloučení nepotřebných adresářů
    Options {
      exclude = yes
      wild = "*/logs/*"
      wild = "*/var/log/*"
      wild = "*/var/cache/*"
      wild = "*/tmp/*"
      wild = "*/node_modules/*"
      wild = "*/.cache/*"
      wild = "*/media/cache/*"
    }
    File = /root
    File = /home
    File = /etc
  }
}

# Plán zálohování
Schedule {
  Name = "WeeklyCycle"
  # Denní inkrementální zálohy
  Run = Level=Incremental Priority=10 mon-sun at 01:00
  # Virtual Full 2x týdně (středa a neděle)
  Run = Level=VirtualFull Priority=5 wed,sun at 02:00
}

# Klient
Client {
  Name = server-fd
  Address = server.example.com
  FDPort = 9102
  Catalog = MyCatalog
  Password = "heslo-pro-file-daemon"
  File Retention = 14 days
  Job Retention = 14 days
  AutoPrune = yes
  Maximum Concurrent Jobs = 10
}

# Úložiště s Autochangerem
Autochanger {
  Name = BackupStorage
  Address = backup.example.com
  SDPort = 9103
  Password = "heslo-pro-storage-daemon"
  Device = FileChgr1
  Media Type = File
  Maximum Concurrent Jobs = 10
  Autochanger = BackupStorage
}

# Katalog (databáze)
Catalog {
  Name = MyCatalog
  dbname = "bacula"
  DB Address = "127.0.0.1"
  DB Port = "3306"
  dbuser = "bacula"
  dbpassword = "heslo-databaze"
}

# Pool pro běžné zálohy
Pool {
  Name = ServerPool
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  # Retence dat na disku
  Volume Retention = 7 days
  # Automatické uvolnění místa po purge
  Action On Purge = Truncate
  Recycle Oldest Volume = yes
  Maximum Volume Bytes = 20G
  Maximum Volumes = 50
  Label Format = "ServerVol-"
  # Cílový pool pro Virtual Full
  Next Pool = VFServerPool
}

# Pool pro Virtual Full zálohy
Pool {
  Name = VFServerPool
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 7 days
  Maximum Volume Bytes = 20G
  Maximum Volumes = 70
  Action On Purge = Truncate
  Recycle Oldest Volume = yes
  Label Format = "VFServerVol-"
  Storage = BackupStorage
}

# Zprávy
Messages {
  Name = Standard
  mailcommand = "/usr/sbin/bsmtp -h localhost -f \"Bacula\" -s \"Bacula: %t %e of %c %l\" %r"
  mail = admin@example.com = all, !skipped
  console = all, !skipped, !saved
  append = "/var/log/bacula/bacula.log" = all, !skipped
  catalog = all
}

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

# Údržbový job pro automatické čištění
Schedule {
  Name = "MaintenanceNightly"
  Run = mon-sun at 09:00
}

Job {
  Name = "MaintenancePrune"
  Type = Admin
  Client = server-fd
  FileSet = "ServerFileSet"
  Schedule = "MaintenanceNightly"
  Priority = 50
  Messages = Standard
  Pool = ServerPool
  Storage = BackupStorage

  # Prořezání expirovaných jobů
  RunScript {
    Console = "prune jobs client=server-fd yes"
    RunsOnClient = no
    RunsWhen = Before
  }

  # Prořezání expirovaných volumes
  RunScript {
    Console = "prune expired volume pool=ServerPool yes"
    RunsOnClient = no
    RunsWhen = Before
  }
  RunScript {
    Console = "prune expired volume pool=VFServerPool yes"
    RunsOnClient = no
    RunsWhen = Before
  }

  # Truncate - uvolnění místa na disku
  RunScript {
    Console = "truncate volume pool=ServerPool allpools storage=BackupStorage yes"
    RunsOnClient = no
    RunsWhen = Before
  }
  RunScript {
    Console = "truncate volume pool=VFServerPool allpools storage=BackupStorage yes"
    RunsOnClient = no
    RunsWhen = Before
  }
}

Console {
  Name = backup-mon
  Password = "heslo-pro-monitoring"
  CommandACL = status, .status
}

Vysvětlení klíčových parametrů

Retence dat

  • Volume Retention - Jak dlouho držet data na disku. Doporučení minimálně doba nejdelší zálohy + rezerva.
  • Job Retention - Jak dlouho uchovávat záznamy o jobech v DB. Doporučení je ≥ Volume Retention.
  • File Retention - Jak dlouho uchovávat seznamy souborů v DB. Doporučení je ≤ Job Retention.

Proč držet File/Job Retention delší než Volume Retention?

File Retention a Job Retention ovlivňují pouze metadata v databázi (katalogu), nikoliv samotné zálohovací soubory na disku. Delší retence metadat přináší několik výhod:

1. Ochrana před ztrátou baseline pro Incrementální zálohy

Bacula potřebuje v katalogu záznam o posledním Full nebo Virtual Full backupu, aby mohla správně provést Incremental. Pokud Job Retention vyprší a záznam o Full záloze zmizí, Bacula automaticky povýší následující Incremental na Full - což znamená kompletní přenos všech dat místo jen změn.

Příklad problému s krátkou retencí:

  • Pondělí: Full záloha (1 TB, trvá 4 dny)
  • Pátek: Full dokončena, Job Retention = 4 dny
  • Úterý příští týden: Záznam o Full záloze expiruje
  • Středa: Naplánovaný Incremental se povýší na Full (další 4 dny, 1 TB)

2. Rychlejší a přesnější obnova souborů

File Retention určuje, jak dlouho máte v databázi seznam všech zálohovaných souborů s jejich cestami, velikostmi a checksummy. S delší retencí:

  • Můžete vyhledávat konkrétní soubory napříč zálohovací historií
  • Restore wizard nabídne kompletní seznam souborů k obnově
  • Nemusíte ručně procházet volumes a hádat, co obsahují

Bez metadat v katalogu je obnova stále možná, ale musíte znát přesný JobId nebo procházet volumes ručně pomocí bls utility.

3. Lepší přehled a debugging

Delší Job Retention umožňuje:

  • Analyzovat trendy velikosti záloh v čase
  • Identifikovat problematické joby a vzorce selhání
  • Plánovat kapacitu úložiště na základě historických dat

Dopad na diskový prostor

  • Volume Retention - přímý dopad na disk, určuje jak dlouho se drží zálohovací soubory. Na databázi nemá žádný vliv.
  • Job Retention - na disk nemá žádný vliv. V databázi zabírá minimální prostor (jednotky KB na job).
  • File Retention - na disk nemá žádný vliv. V databázi má významný dopad, protože uchovává kompletní seznam všech zálohovaných souborů s jejich metadaty.

File Retention a velikost databáze

Pro server s 4 miliony souborů může File Retention představovat:

  • 4 dny retence: ~200 MB v databázi
  • 14 dní retence: ~700 MB v databázi
  • 30 dní retence: ~1.5 GB v databázi

Toto je zanedbatelné ve srovnání s velikostí samotných záloh (stovky GB až TB), ale může ovlivnit výkon databázových dotazů. Pro velmi velké instalace zvažte optimalizaci MySQL/PostgreSQL.

Doporučené nastavení

# V konfiguraci klienta
File Retention = 14 days   # Možnost vyhledat soubory 2 týdny zpět
Job Retention  = 14 days   # Ochrana baseline pro Incrementy
Volume Retention = 7 days  # Skutečná data na disku

Toto nastavení zajistí, že:

  • Zálohovací soubory se recyklují po 7 dnech (šetří disk)
  • Metadata zůstanou 14 dní (ochrana před upgrade na Full)
  • Máte 2týdenní historii pro vyhledávání souborů

Virtual Full zálohy

Virtual Full je syntéza předchozího Full backupu a všech následných Incrementálů do nového "virtuálního" Full backupu. Výhody:

  • Žádný přenos dat z klienta
  • Rychlejší obnova (není třeba aplikovat incrementy)
  • Efektivnější využití úložiště

Parametry:

  • Backups To Keep = 1 - po konsolidaci smaže staré incrementy
  • Delete Consolidated Jobs = Yes - smaže záznamy o konsolidovaných jobech
  • Next Pool - cílový pool pro Virtual Full zálohy

Údržbový job

Údržbový job MaintenanceNightly provádí automatické čištění - prořezává expirované záznamy z katalogu a uvolňuje místo na disku truncatováním prázdných volumes.

Kdy spouštět údržbu: Údržbový job by měl běžet až po dokončení všech zálohovacích jobů. Pokud by běžel před nebo během záloh, mohl by smazat metadata potřebná pro Virtual Full konsolidaci nebo uvolnit volumes, které jsou ještě využívány. Pro noční zálohy startující v 01:00-02:00 doporučujeme spouštět údržbu ráno, např. v 09:00.

Schedule {
  Name = "MaintenanceNightly"
  Run = mon-sun at 09:00
}

Správa diskového prostoru

  • Action On Purge = Truncate - po purge volume jej zkrátí na nulu, čímž okamžitě uvolní místo na disku
  • Recycle Oldest Volume = yes - při potřebě nového volume automaticky recykluje nejstarší dostupný
  • Maximum Volume Bytes - maximální velikost jednoho volume souboru (např. 20G)
  • Maximum Volumes - maximální počet volumes v poolu, omezuje celkovou kapacitu

Pořadí a priority spouštění jobů

Bacula spouští joby podle jejich priority - nižší číslo = vyšší priorita. Toto je důležité pro správné fungování Virtual Full záloh.

Proč záleží na pořadí:

Virtual Full konsoliduje předchozí Full/VirtualFull a všechny následné Incrementy do nového celku. Pokud by VirtualFull začal dříve než Incremental naplánovaný na stejný den, nezahrnul by tento Incremental do konsolidace.

Doporučené nastavení priorit:

  • Priority = 5 - Virtual Full zálohy (vyšší priorita)
  • Priority = 10 - Incremental a Full zálohy (standardní priorita)
  • Priority = 50 - Údržbové joby (nejnižší priorita)
Schedule {
  Name = "WeeklyCycle"
  Run = Level=Incremental Priority=10 mon-sun at 01:00
  Run = Level=VirtualFull Priority=5 wed,sun at 02:00
}

Jak to funguje? Správné pořadí je zajištěno časovým odstupem v Schedule - Incrementy startují ve 01:00, VirtualFull až ve 02:00. Klíčové je, že Incrementy se spustí první.

VirtualFull konsoliduje všechny dokončené joby v katalogu. Pokud Incremental v době startu VirtualFull ještě běží, nebude do této konsolidace zahrnut - zahrne se až do příštího VirtualFull. To je očekávané chování a není to problém, protože data z běžícího Incrementu jsou stále dostupná samostatně.

Virtual Full má vyšší prioritu (nižší číslo), aby v případě čekání ve frontě mohl předběhnout méně důležité joby. Priorita rozhoduje pouze u jobů čekajících ve frontě současně.

Parametr Allow Mixed Priority v JobDefs umožňuje spouštět joby s různou prioritou současně. Bez něj by Bacula čekala na dokončení všech jobů s vyšší prioritou, než spustí joby s nižší.

Allow Mixed Priority = yes

Práce s velkými zálohami

Pokud záloha serveru trvá několik dní (např. 1 TB dat přes pomalou síť nebo HDD), je třeba upravit konfiguraci:

1. Zvýšení Volume Retention

Volume Retention = 14 days  # Minimálně 2× doba zálohy

2. Zvýšení Job/File Retention

Job Retention = 21 days
File Retention = 21 days

3. Dočasné zakázání jobu během běhu

# Zakázat plánované spouštění
bconsole <<< "disable job=BackupServer"

# Po dokončení znovu povolit
bconsole <<< "enable job=BackupServer"

4. Optimalizace FileSet

Vyloučení velkých nepotřebných adresářů výrazně zrychlí zálohu:

Options {
  exclude = yes
  wild = "*/vendor/*"
  wild = "*/node_modules/*"
  wild = "*.log"
  wild = "*.tmp"
  wild = "/var/lib/docker/*"
}

Grafické rozhraní BAT

Pro uživatele, kteří preferují grafické prostředí před příkazovou řádkou, nabízí Bacula aplikaci BAT (Bacula Administration Tool). Jedná se o Qt aplikaci, která poskytuje přehledné GUI pro správu a monitoring záloh.

 

Hlavní výhodou BAT je možnost spouštět jej ze svého lokálního počítače a vzdáleně monitorovat stav zálohování serverů - není nutné se přihlašovat přes SSH na zálohovací server.

Instalace

# Debian/Ubuntu - na svém počítači
apt install bacula-console-qt

Konfigurace připojení

BAT vyžaduje konfigurační soubor s údaji pro připojení k Directoru. Vytvořte soubor například ~/.bacula/bat.conf:

Director {
  Name = backup-dir
  DIRport = 9101
  address = backup.example.com
  Password = "silne-heslo-pro-console"
}

Důležité: Heslo musí odpovídat heslu definovanému v Console resource na straně Directora.

Spuštění s vlastní konfigurací

# Spuštění s explicitní cestou ke konfiguraci
bat -c ~/.bacula/bat.conf

Pro pohodlnější spouštění si můžete vytvořit alias v ~/.bashrc:

alias bat='bat -c ~/.bacula/bat.conf'

Firewall a síťový přístup

Pro vzdálené připojení musí být na zálohovacím serveru povolen přístup k portu Directora:

# Na zálohovacím serveru
ufw allow from 192.168.1.0/24 to any port 9101 proto tcp

Případně v konfiguraci Directora omezte, na kterých adresách naslouchá:

Director {
  Name = backup-dir
  DirAddresses = {
    ip = { addr = 127.0.0.1 }
    ip = { addr = 192.168.1.10 }  # LAN adresa
  }
  ...
}

Základní příkazy bconsole

Připojení ke konzoli

bconsole

Sledování stavu

# Stav directora - přehled naplánovaných a běžících jobů
status dir

# Detailní stav konkrétního jobu
status jobid=1234

# Stav klienta
status client=server-fd

# Stav úložiště
status storage=BackupStorage

Správa jobů

# Ruční spuštění zálohy
run job=BackupServer level=Incremental yes

# Zrušení běžícího jobu
cancel jobid=1234

# Seznam posledních jobů
list jobs client=server-fd

# Detail jobu
list jobid=1234

Správa volumes

# Seznam volumes v poolu
list volumes pool=ServerPool

# Detail volume
list volume=ServerVol-0001

# Ruční purge volume
purge volume=ServerVol-0001 yes

# Truncate - uvolnění místa
truncate volume pool=ServerPool allpools storage=BackupStorage yes

Ověření konfigurace

# Ověření syntaxe (bez startu)
bacula-dir -t -c /etc/bacula/bacula-dir.conf

# Reload konfigurace za běhu
bconsole <<< "reload"

# Zobrazení konfigurace
show job=BackupServer
show pool=ServerPool
show schedule=WeeklyCycle

Detekce problémů

# Zobrazení zpráv
bconsole <<< "messages"

# Log soubor
tail -f /var/log/bacula/bacula.log

# Kontrola připojení ke klientovi
bconsole <<< "status client=server-fd"

# Kontrola úložiště
bconsole <<< "status storage=BackupStorage"

Obnova souborů ze zálohy

Interaktivní obnova

bconsole
# Spuštění restore wizardu
restore

# Výběr klienta
> 5 (Select the Client)
> server-fd

# Výběr typu výběru souborů
> 5 (Select the most recent backup for a client)

# Navigace a výběr souborů
cd /home/user/documents
mark important-file.txt
mark another-file.pdf
cd /etc
mark nginx

# Dokončení výběru
done

# Potvrzení obnovy
yes

Rychlá obnova posledního jobu

bconsole << 'EOF'
restore client=server-fd where=/tmp/bacula-restore all
5
server-fd
done
yes
EOF

Obnova konkrétního adresáře

bconsole << 'EOF'
restore client=server-fd where=/tmp/bacula-restore
5
server-fd
cd /home/user
mark documents
done
yes
EOF

Obnova z konkrétního jobu/data

bconsole << 'EOF'
restore client=server-fd where=/tmp/bacula-restore
# Volba 3 - Enter list of comma separated JobIds to select
3
6789,6790
cd /etc
mark nginx
done
yes
EOF

Parametry obnovy

  • where= Cílový adresář pro obnovu
  • replace= Co dělat s existujícími soubory: always, ifnewer, ifolder, never
  • client=  Cílový klient (může být jiný než původní)

Obnova na jiný server

restore client=original-fd restoreclient=new-fd where=/tmp/restore

Řešení častých problémů

"Cannot find any appendable volumes"

Pool dosáhl limitu volumes. Řešení:

# Zvýšení limitu
bconsole <<< "update pool=ServerPool MaxVols=100"

# Nebo ruční vytvoření nového volume
bconsole <<< "label storage=BackupStorage pool=ServerPool"

"Only one Job found. Consolidation not needed"

Virtual Full nemá co konsolidovat - chybí předchozí Full nebo Incrementy. Ujistěte se, že máte správně nastavený schedule a existuje alespoň jeden Full + Incremental.

Disk se plní

# Ruční truncate
bconsole << 'EOF'
truncate volume pool=ServerPool allpools storage=BackupStorage yes
truncate volume pool=VFServerPool allpools storage=BackupStorage yes
EOF

# Kontrola stavu volumes
bconsole <<< "list volumes pool=ServerPool"

Job čeká ve frontě

# Zobrazení čekajících jobů
bconsole <<< "status dir"

# Zrušení všech čekajících
bconsole <<< "cancel all yes"

Dokumentace

Pro další informace doporučuji oficiální dokumentaci Bacula.

Mohlo by vás také zajímat

Upgrade PHP v ubuntu včetně již instalovaných modulů

Jednoduchý způsob, jak v ubuntu/debianu snadno povýšit verzi PHP včetně všech již instalovaných modulů.

Číst více

Vypnutí přihlášení uživatele heslem v linuxu

Často se hodí mít u některých uživatelů v linuxovém systému vypnuté vzdálené přihlášení heslem a povolené pouze ssh certifikátem. Zde je návod jak na to.

Číst více

Http Basic Auth s Apache serverem a .htaccess

Jednoduchý a rychlý způsob jak schovat webové stránky za přihlášení, pokud máme webový server Apache.

Číst více

nám. Republiky 28
301 00 Plzeň
Česká republika
IČ: 28006402
DIČ: CZ28006402

© 2002 - 2025 iD-SIGN BRANDS MENTIONED ABOVE ARE PROPERTY OF THEIR RESPECTIVE OWNER.