SlideShare a Scribd company logo
Bacula
Mohammad Parvin
@mmparvin
Git & Medium: MParvin
What is bacula?
AGPL v3.0
Initial release : Jan 2000
Last release 9.4
C & C++
First release to SourceForge : April 14, 2002
Foreked from Bacula: Bareos
OS supports: Linux, Unix, Mac and Windows
Any Question?
Bacula components
DIR
FD
SD Disk/Tape
Catalog
Text Console
Web Console
Graphic Console
DIR
Bacula DIR
FD
SD Disk/Tape
Catalog
Text Console
Web Console
Graphic Console
Software that controls the backup and restore operations that are performed by the File and Storage daemons
Catalog
DIR
FD
SD Disk/TapeText Console
Web Console
Graphic Console Catalog
Services that maintain a database of files that are backed up. The database is stored in an SQL database such as MySQL or PostgreSQL
Bacula DIR Dependencies
Installed:
bacula-director.x86_64 0:5.2.13-23.1
Dependency Installed:
bacula-common.x86_64 0:5.2.13-23.1.el7 bacula-libs.x86_64 0:5.2.13-23.1.el7
bacula-libs-sql.x86_64 0:5.2.13-23.1.el7 logwatch.noarch 0:7.4.0-35.20130522svn140.el7_5
mailx.x86_64 0:12.5-19.el7 perl-Date-Manip.noarch 0:6.41-2.el7
perl-Sys-CPU.x86_64 0:0.54-4.el7 perl-Sys-MemInfo.x86_64 0:0.91-7.el7
postgresql-libs.x86_64 0:9.2.24-1.el7_5
Bacula FD (Client)
DIR SD Disk/Tape
Catalog
Text Console
Web Console
Graphic Console
FD
Bacula FD requirements
Installed:
bacula-client.x86_64
Dependency Installed:
bacula-common.x86_64 0:5.2.13-23.1.el7
bacula-libs.x86_64
Installed:
bacula-fd/oldstable
Dependency Installed:
bacula-common/oldstable
Bacula SD (Storage daemon)
DIR
FD
Disk/Tape
Catalog
Text Console
Web Console
Graphic Console
SD
Software that performs reads and writes on the storage devices used for backups
Bacula SD dependencies
Installed:
bacula-storage.x86_64 0:5.2.13-23.1.el7
Dependency Installed:
bacula-common.x86_64 0:5.2.13-23.1.el7
mt-st.x86_64 0:1.1-14.el7
mt-st : mt and st tape drive management programs
Bacula Consoles
DIR
FD
SD Disk/Tape
Catalog
Web console
Text console
Graphic console
Bacula Console requirements
Installed:
bacula-console.x86_64 0:5.2.13-23.1.el7
Dependency Installed:
bacula-libs.x86_64 0:5.2.13-23.1.el7
Bacula
Web
Consoles
GPL v2.0
Bacula
Web
Console
Is responsive
Bacula
Web
Console
Bacula
Web
Console
Bacula
GUI
Console
Tray monitor
Package name:
bacula-tray-monitor
Dependencies:
bacula-common
Review
Bacula
Enterprice
workflow
Any Question?
Bacula plugins
LDAP and AD plugin
Docker plugin (Container configuration, volumes, images)
Bare Metal backup and recovery
Snapshot
CDP
Exchange Backup Software for Server 2016, 2013 and 2010
KVM
XEN
Proxmox
Redhat virtualization
VMware
HyperV
Azure
AWS
Google Oracle
MySQL
Postgres
MSSQL
Snapshot
A Snapshot is a view of a data set frozen at a point in time which allows
applications to continue writing their data.
Bacula offers snapshot support across
a wide range of operating systems and environments,
including of course Windows,
Unix and
Linux platforms.
The following snapshot-capable file systems and
logical volume managers are now supported with
Bacula Enterprise 8.2
ZFS
BTRFS
LVM
CDP
Continuous Data Protection (CDP) also called continuous backup or real-time backup,
refers to backup of Client data by automatically saving a copy of every change made
to that data,
essentially capturing every version of the data that the user saves.
●
Transaction record preservation, where corrupt files are replaced with earlier and clean versions
●
Efficient data recovery
●
Easy installation and programming, which does not affect stored data
CDP
The user application (cdp-client or tray-monitor) is responsible to monitor files and directories.
When a modification is detected, a copy of the new data is done into a spool directory.
At a regular interval, a Bacula backup job will contact the FileDaemon and will save
all the files archived by the cdp-client.
The local data can be restored at any time without a network connection to the Director.
Any Question?
Installation
Debian and Ubuntu → apt
CentOS, Fedora → yum
Opensuse → Zypper
FreeBSD → pkg
After Installation
/usr/libexec/bacula/grant_mysql_privileges
After Installation
/usr/libexec/bacula/create_mysql_database -u root
/usr/libexec/bacula/make_mysql_tables -u bacula
After Installation
mysql_secure_installation
mysql -u root -p
MariaDB [(none)]> UPDATE mysql.user SET Password=PASSWORD('bacula_db_password')
WHERE User='bacula';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;
Configuration directives
Director {
…
}
JobDefs {
...
}
Job {
…
}
FileSet {
…
}
Schedule {
…
}
Client {
...
}
Storage {
…
}
Catalog {
…
}
Messages {
…
}
Pool {
...
}
Console {
…
}
Device {
…
}
Configuration
DIR
Director { # define myself
Name = bacula-dir
DIRport = 9101 # listen for UA connections
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/var/spool/bacula"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 1
Password = "@@DIR_PASSWORD@@" # Console passw
Messages = Daemon
DirAddress = 127.0.0.1
}
/etc/bacula/bacula-dir.conf
Configuration
DIR
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = bacula-fd
FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = File
Priority = 10
Write Bootstrap = "/var/bacula/bacula_full.bsr"
}
/etc/bacula/bacula-dir.conf
Configuration
DIR
Job {
Name = "BackupCatalog"
Type = Backup
JobDefs = "DefaultJob"
Level = Full
FileSet="Catalog"
Messages = Standard
Priority = 10
Storage = "Drive 2"
Schedule = "WeeklyCycleAfterBackup"
RunBeforeJob = "/scripts/my_script_Before.sh"
Write Bootstrap = "/var/bacula/bacula_full.bsr"
RunAfterJob = "/scripts/my_script_Before.sh"
Priority = 11 # run after main backup
/etc/bacula/bacula-dir.conf
Configuration
DIR
Job {
Name = "RestoreFiles"
Type = Restore
Client=bacula-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /var/bacula/restore
}
/etc/bacula/bacula-dir.conf
Configuration
DIR
FileSet {
Name = "Full Set"
Include {
Options {
signature = MD5
compression = GZIP
}
File = /var/www/notification
}
Exclude {
File = /var/spool/bacula
File = /tmp
File = /proc
File = /tmp
File = /.journal
File = /.fsck
File = .git
}
}
/etc/bacula/bacula-dir.conf
Configuration
DIR
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
}
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Full sun-sat at 23:10
}
/etc/bacula/bacula-dir.conf
Configuration
DIR
# Client (File Services) to backup
Client {
Name = bacula-fd
Address = localhost
FDPort = 9102
Catalog = MyCatalog
Password = "@@FD_PASSWORD@@" # password for FileDaemon
File Retention = 30 days
Job Retention = 6 months
AutoPrune = yes # Prune expired Jobs/Files
}
/etc/bacula/bacula-dir.conf
Configuration
DIR
/etc/bacula/bacula-dir.conf
# Definition of file storage device
Storage {
Name = File
# Do not use "localhost" here
Address = firstStorage.local # N.B. Use a fully qualified name
SDPort = 9103
Password = "@@SD_PASSWORD@@"
Device = FileStorage
Media Type = File
}
Configuration
DIR
/etc/bacula/bacula-dir.conf
# Definition of DDS tape storage device
Storage {
Name = DDS-4
# Do not use "localhost" here
# N.B. Use a fully qualified name here
Address = firstTape.local
SDPort = 9103
# password for Storage daemon
Password = "@@SD_PASSWORD@@"
# must be same as Device in Storage daemon
Device = DDS-4
# must be same as MediaType in Storage daemon
Media Type = DDS-4
# enable for autochanger device
Autochanger = yes
}
Configuration
DIR
/etc/bacula/bacula-dir.conf
# Definition of DVD storage device
Storage {
Name = "DVD"
# Do not use "localhost" here
# N.B. Use a fully qualified name here
Address = localhost
SDPort = 9103
Password = "@@SD_PASSWORD@@"
Device = "DVD Writer"
MediaType = "DVD"
}
Configuration
DIR
/etc/bacula/bacula-dir.conf
Catalog {
Name = MyCatalog
# Uncomment the following line if you want the dbi driver
dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport = 5432
dbname = "bacula"; dbuser = "bacula"; dbpassword = "Password"
}
Configuration
DIR
/etc/bacula/bacula-dir.conf
Messages {
Name = Standard
mailcommand = "/usr/sbin/bsmtp -h localhost 
-f "(Bacula) <%r>" 
-s "Bacula: %t %e of %c %l" %r"
operatorcommand = "/usr/sbin/bsmtp -h localhost 
-f "(Bacula) <%r>" 
-s "Bacula: Intervention needed for %j" %r"
mail = root@localhost = all, !skipped
operator = root@localhost = mount
console = all, !skipped, !saved
append = "/var/log/bacula/bacula.log" = all, !skipped
catalog = all
}
Configuration
SD
/etc/bacula/bacula-sd.conf
Device {
Name = FileStorage
Media Type = File
Archive Device = /backup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}
Any Question?
References
https://blog.bacula.org/whitepapers/ConceptGuide.pdf
https://blog.bacula.org/whitepapers/CommunityInstallationGuide.pdf
https://www.bacula.org/9.4.x-manuals/en/problems/problems.pdf
http://docs.bacula-web.org/
Thank You :)

More Related Content

ODP
4. linux file systems
PDF
Efficient processing of large and complex XML documents in Hadoop
PPT
IBM Introduction to New Mainframe_ z-OS Basics - Chap. 16 - Topics in z-OS Sy...
PDF
PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation
PPTX
PPTX
Teknologi layanan jaringan 01
PPT
001 linux revision
PDF
DB2 for z/OS Real Storage Monitoring, Control and Planning
4. linux file systems
Efficient processing of large and complex XML documents in Hadoop
IBM Introduction to New Mainframe_ z-OS Basics - Chap. 16 - Topics in z-OS Sy...
PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation
Teknologi layanan jaringan 01
001 linux revision
DB2 for z/OS Real Storage Monitoring, Control and Planning

What's hot (15)

PDF
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
PDF
Getting started with BeagleBone Black - Embedded Linux
PPT
Bab 2 - SISTEM BASIS DATA.ppt
PPTX
PDF
Bacula Overview
DOCX
Linux crontab
PPT
Interaksi manusia dengan komputer 1
PDF
Introduction to char device driver
PPTX
PPTX
akupunktur ve migren.pptx
PPT
Memoria Virtual
PPTX
Perakitan Komputer
PPT
Svn 버전관리 프로그램_매뉴얼
PPTX
Curso - traduccion_Leo.pptx
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
Getting started with BeagleBone Black - Embedded Linux
Bab 2 - SISTEM BASIS DATA.ppt
Bacula Overview
Linux crontab
Interaksi manusia dengan komputer 1
Introduction to char device driver
akupunktur ve migren.pptx
Memoria Virtual
Perakitan Komputer
Svn 버전관리 프로그램_매뉴얼
Curso - traduccion_Leo.pptx
Ad

Similar to Bacula - Backup system (20)

PPT
Introduction to Bacula
PDF
Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...
PPTX
how to generate debian package from scratch
ODP
Asian Spirit 3 Day Dba On Ubl
PDF
Percona xtrabackup - MySQL Meetup @ Mumbai
DOC
Oracle applications 11i hot backup cloning with rapid clone
PDF
Oracle applications 11i hot backup cloning with rapid clone
PPT
Linux filesystemhierarchy
PDF
Cloud Native Computing - Part III - Containers
PDF
Managing development environments with Docksal
PDF
DataStax | Building a Spark Streaming App with DSE File System (Rocco Varela)...
PPT
Puppet
ODT
ACADGILD:: HADOOP LESSON
PDF
Kernel Recipes 2019 - Kernel documentation: past, present, and future
PDF
12c (12.1) Database installation on Solaris 11(11.2)
PDF
How to create a non managed standby database
PDF
linux installation.pdf
PDF
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
PPTX
Real World Experience of Running Docker in Development and Production
PDF
Koha installation BALID
Introduction to Bacula
Open Source Backup Conference 2014: Workshop bareos introduction, by Philipp ...
how to generate debian package from scratch
Asian Spirit 3 Day Dba On Ubl
Percona xtrabackup - MySQL Meetup @ Mumbai
Oracle applications 11i hot backup cloning with rapid clone
Oracle applications 11i hot backup cloning with rapid clone
Linux filesystemhierarchy
Cloud Native Computing - Part III - Containers
Managing development environments with Docksal
DataStax | Building a Spark Streaming App with DSE File System (Rocco Varela)...
Puppet
ACADGILD:: HADOOP LESSON
Kernel Recipes 2019 - Kernel documentation: past, present, and future
12c (12.1) Database installation on Solaris 11(11.2)
How to create a non managed standby database
linux installation.pdf
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
Real World Experience of Running Docker in Development and Production
Koha installation BALID
Ad

Recently uploaded (20)

PPTX
assetexplorer- product-overview - presentation
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Introduction to Artificial Intelligence
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPT
Introduction Database Management System for Course Database
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Nekopoi APK 2025 free lastest update
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
assetexplorer- product-overview - presentation
Upgrade and Innovation Strategies for SAP ERP Customers
Design an Analysis of Algorithms I-SECS-1021-03
Softaken Excel to vCard Converter Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Introduction to Artificial Intelligence
Digital Systems & Binary Numbers (comprehensive )
Design an Analysis of Algorithms II-SECS-1021-03
Reimagine Home Health with the Power of Agentic AI​
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Introduction Database Management System for Course Database
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Nekopoi APK 2025 free lastest update
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

Bacula - Backup system