Commercial-grade Bacula plugin for Firebird Database 3, 4 and 5 — filling a real gap: Bacula Enterprise does NOT ship a Firebird plugin. Three modes (gbak/dump, nbackup page-level incremental, replay-log shipping for FB ≥4), 120 unit tests, 8 phases lab-validated (Bacula 15.0.3 + FB 3/4/5). Pure Rust cdylib + ~600 KB musl static-pie backend. Crash isolation via PTCOMM. Zero Bacula AGPLv3 statically linked.

Three backup modes

Mode When to pick
dump (gbak) DB ≤ 50 GB, table-level granularity desired, cross-version migration
nbackup DB ≥ 50 GB, short backup window, page-level incremental chain
replay (FB ≥ 4) RPO ≈ minutes, multi-site DR, continuous replication-log shipping

Firebird support

  • Firebird 3.0
  • Firebird 4.0 (+ replication log → replay mode)
  • Firebird 5.0 (+ gbak -par N parallel workers)
  • ❌ Firebird 2.5 (out of scope)

Why this matters

Bacula Enterprise has no Firebird plugin. Today, Firebird users are stuck with:

  1. Amateur shell scripts calling gbak from cron
  2. External proprietary vendor solutions (with $$$$ licensing)
  3. Generic filesystem solutions that aren’t engine-consistent

PodHeitor Firebird brings native Bacula integration with all three of the engine’s best modes — no shellcraft, no external dependency, no broken consistency.

Comparison

Feature Bacula Community Bacula Enterprise Veeam / Others PodHeitor Firebird
Native Firebird plugin No Does not exist No Yes
gbak (logical dump) Manual shell Yes, integrated
nbackup page-level incremental No No Yes
Replication-log shipping (FB 4+) No No Yes, minute-level RPO
Cross-version migration No No Yes, via gbak
Crash isolation (cdylib + backend) Yes, PTCOMM
Cost Free (hacks) $$$$ ≥50% cheaper

Architecture

bacula-fd dlopens libpodheitor_firebird_fd.so (Rust cdylib, ~600 KB) which fork+execs the standalone podheitor-firebird-backend binary. The cdylib and backend talk PTCOMM (length-tagged framing on stdin/stdout) — same pattern as plugin-postgresql. Crash isolation, AGPLv3 license firewall, no Bacula source statically linked.

Compatibility

  • Firebird 3.0 / 4.0 / 5.0
  • Bacula Community 15.0.3+
  • RHEL/Oracle/Rocky/Alma 8/9 · Debian 12 · Ubuntu 22.04/24.04
  • Rust 1.95+ (build), no runtime dependency

Installation

# RHEL / Oracle / Rocky / Alma 9
sudo dnf install podheitor-firebird-plugin-0.1.0-1.el9.x86_64.rpm

# Debian / Ubuntu
sudo dpkg -i podheitor-firebird-plugin_0.1.0-1_amd64.deb

Ready to switch?

Running Firebird in production? The plugin you need doesn’t exist in Bacula Enterprise — only here. We commit to at least 50% discount vs any proprietary alternative, with more capabilities included.

Heitor Faria — Founder, PodHeitor International
[email protected]
☎ +1 (789) 726-1749 · +55 (61) 98268-4220 (WhatsApp)
Free 30-day commercial trial.

Technical whitepaper

📘 Read the full technical whitepaper — architecture, backup modes, integrations, anti-patterns and licensing model.

Disponível em: pt-brPortuguês (Portuguese (Brazil))enEnglishesEspañol (Spanish)