The Leading Open Source Backup Solution
- Contents
- What is Bacula?
- Who Needs Bacula?
- Bacula Components or Services
- Bacula Configuration
- Conventions Used in this Document
- Quick Start
- Terminology
- What Bacula is Not
- Interactions Between the Bacula Services
- New Features in 7.4.0
- New Features in 7.2.0
- New Features in 7.2.0
- Bacula 7.2
- Snapshot Management
- Minor Enhancements
- Data Encryption Cipher Configuration
- Read Only Storage Devices
- New Truncate Command
- New Resume Command
- New Prune “Expired” Volume Command
- New Job Edit Codes %P %C
- Enhanced Status and Error Messages
- Miscellaneous New Features
- FD Storage Address
- Maximum Concurrent Read Jobs
- Incomplete Jobs
- The Stop Command
- The Restart Command
- Job Bandwidth Limitation
- Always Backup a File
- Setting Accurate Mode at Runtime
- Additions to RunScript variables
- LZO Compression
- Purge Migration Job
- Changes in the Pruning Algorithm
- Ability to Verify any specified Job
- New Features in 7.0.0
- New Features in 7.0.0
- Storage daemon to Storage daemon
- SD Calls Client
- Next Pool
- status storage
- status schedule
- Data Encryption Cipher Configuration
- New Truncate Command
- Migration/Copy/VirtualFull Performance Enhancements
- VirtualFull Backup Consolidation Enhancements
- FD Storage Address
- Job Bandwidth Limitation
- Maximum Concurrent Read Jobs
- Director job Codes in Message Resource Commands
- Additions to RunScript variables
- Read Only Storage Devices
- New Prune “Expired” Volume Command
- Hardlink Performance Enhancements
- DisableCommand Directive
- Multiple Console Directors
- Restricted Consoles
- Configuration Files
- Maximum Spawned Jobs
- Progress Meter
- Scheduling a 6th Week
- Scheduling the Last Day of a Month
- Improvements to Cancel and Restart bconsole Commands
- bconsole Performance Improvements
- New .bvfs_decode_lstat Command
- New Debug Options
- New Features in 7.0.0
- New Features in 5.2.13
- Additions to RunScript variables
- New Features in 5.2.1
- LZO Compression
- New Tray Monitor
- Purge Migration Job
- Changes in Bvfs (Bacula Virtual FileSystem)
- Changes in the Pruning Algorithm
- Ability to Verify any specified Job
- Additions to RunScript variables
- Additions to the Plugin API
- ACL enhancements
- XATTR enhancements
- Class Based Database Backend Drivers
- Hash List Enhancements
- Release Version 5.0.3
- Release Version 5.0.2
- New Features in 5.0.1
- New Features in 5.0.0
- Maximum Concurrent Jobs for Devices
- Restore from Multiple Storage Daemons
- File Deduplication using Base Jobs
- AllowCompression = yes|no
- Accurate Fileset Options
- Tab-completion for Bconsole
- Pool File and Job Retention
- Read-only File Daemon using capabilities
- Bvfs API
- Testing your Tape Drive
- New Block Checksum Device Directive
- New Bat Features
- Bat on Windows
- New Win32 Installer
- Win64 Installer
- Linux Bare Metal Recovery USB Key
- bconsole Timeout Option
- Important Changes
- Misc Changes
- Released Version 3.0.3 and 3.0.3a
- New Features in Released Version 3.0.2
- New Features in 3.0.0
- Accurate Backup
- Copy Jobs
- ACL Updates
- Extended Attributes
- Shared objects
- Building Static versions of Bacula
- Virtual Backup (Vbackup)
- Catalog Format
- 64 bit Windows Client
- Duplicate Job Control
- TLS Authentication
- bextract non-portable Win32 data
- State File updated at Job Termination
- MaxFullInterval = time-interval
- MaxDiffInterval = time-interval
- Honor No Dump Flag = yes|no
- Exclude Dir Containing = filename-string
- Bacula Plugins
- The bpipe Plugin
- Microsoft Exchange Server 2003/2007 Plugin
- libdbi Framework
- Console Command Additions and Enhancements
- Bare Metal Recovery
- Miscellaneous
- Allow Mixed Priority = yes|no
- Bootstrap File Directive – FileRegex
- Bootstrap File Optimization Changes
- Solaris ZFS/NFSv4 ACLs
- Virtual Tape Emulation
- Bat Enhancements
- RunScript Enhancements
- Status Enhancements
- Connect Timeout
- ftruncate for NFS Volumes
- Support for Ubuntu
- Recycle Pool = pool-name
- FD Version
- Max Run Sched Time = time-period-in-seconds
- Max Wait Time = time-period-in-seconds
- Incremental|Differential Max Wait Time = time-period-in-seconds
- Max Run Time directives
- Statistics Enhancements
- ScratchPool = pool-resource-name
- Enhanced Attribute Despooling
- SpoolSize = size-specification-in-bytes
- MaximumConsoleConnections = number
- VerId = string
- dbcheck enhancements
- -docdir configure option
- -htmldir configure option
- -with-plugindir configure option
- The Current State of Bacula
- What is Implemented
- Advantages Over Other Backup Programs
- Current Implementation Restrictions
- Design Limitations or Restrictions
- Items to Note
- System Requirements
- Supported Operating Systems
- Supported Tape Drives
- Getting Started with Bacula
- Understanding Jobs and Schedules
- Understanding Pools, Volumes and Labels
- Setting Up Bacula Configuration Files
- Testing your Configuration Files
- Testing Compatibility with Your Tape Drive
- Get Rid of the /lib/tls Directory
- Running Bacula
- Log Rotation
- Log Watch
- Disaster Recovery
- Installing Bacula
- Source Release Files
- Upgrading Bacula
- Releases Numbering
- Beta Releases
- Dependency Packages
- Supported Operating Systems
- Building Bacula from Source
- What Database to Use?
- Quick Start
- Configure Options
- Recommended Options for Most Systems
- Red Hat
- Solaris
- FreeBSD
- Win32
- One File Configure Script
- Installing Bacula
- Building a File Daemon or Client
- Auto Starting the Daemons
- Other Make Notes
- Modifying the Bacula Configuration Files
- Critical Items to Implement Before Production
- A Brief Tutorial
- Before Running Bacula
- Starting the Database
- Starting the Daemons
- Using the Director to Query and Start Jobs
- Running a Job
- Restoring Your Files
- Quitting the Console Program
- Adding a Second Client
- When The Tape Fills
- Other Useful Console Commands
- Debug Daemon Output
- Patience When Starting Daemons or Mounting Blank Tapes
- Difficulties Connecting from the FD to the SD
- Daemon Command Line Options
- Creating a Pool
- Labeling Your Volumes
- Labeling Volumes with the Console Program
- Customizing the Configuration Files
- Character Sets
- Resource Directive Format
- Resource Types
- Names, Passwords and Authorization
- Detailed Information for each Daemon
- Configuring the Director
- Director Resource Types
- The Director Resource
- The Job Resource
- The JobDefs Resource
- The Schedule Resource
- Technical Notes on Schedules
- The FileSet Resource
- FileSet Examples
- Backing up Raw Partitions
- Excluding Files and Directories
- Windows FileSets
- Testing Your FileSet
- The Client Resource
- The Storage Resource
- The Pool Resource
- The Catalog Resource
- The Messages Resource
- The Console Resource
- The Counter Resource
- Example Director Configuration File
- Client/File daemon Configuration
- Storage Daemon Configuration
- Storage Resource
- Director Resource
- Device Resource
- Edit Codes for Mount and Unmount Directives
- Devices that require a mount (USB)
- Autochanger Resource
- Messages Resource
- Console Configuration
- General
- The Director Resource
- The ConsoleFont Resource
- The Console Resource
- Console Commands
- Sample Console Configuration File
- Monitor Configuration
- The Monitor Resource
- The Director Resource
- The Client Resource
- The Storage Resource
- Tray Monitor Security
- Sample Tray Monitor configuration
- The Restore Command
- General
- The Restore Command
- Selecting Files by Filename
- Replace Options
- Command Line Arguments
- Using File Relocation
- Restoring Directory Attributes
- Restoring on Windows
- Restoring Files Can Be Slow
- Problems Restoring Files
- Restore Errors
- Example Restore Job Resource
- File Selection Commands
- Restoring When Things Go Wrong
- Automatic Volume Recycling
- Automatic Pruning
- Pruning Directives
- Recycling Algorithm
- Recycle Status
- Making Bacula Use a Single Tape
- Daily, Weekly, Monthly Tape Usage Example
- Automatic Pruning and Recycling Example
- Manually Recycling Volumes
- Basic Volume Management
- Key Concepts and Resource Records
- Concurrent Disk Jobs
- An Example
- Backing up to Multiple Disks
- Considerations for Multiple Clients
- Automated Disk Backup
- Migration and Copy
- Migration and Copy Job Resource Directives
- Migration Pool Resource Directives
- Important Migration Considerations
- Example Migration Jobs
- File Deduplication using Base Jobs
- Backup Strategies
- Autochanger Support
- Knowing What SCSI Devices You Have
- Example Scripts
- Slots
- Multiple Devices
- Device Configuration Records
- Autochanger Resource
- An Example Configuration File
- A Multi-drive Example Configuration File
- Specifying Slots When Labeling
- Changing Cartridges
- Dealing with Multiple Magazines
- Simulating Barcodes in your Autochanger
- The Full Form of the Update Slots Command
- FreeBSD Issues
- Testing Autochanger and Adapting mtx-changer script
- Using the Autochanger
- Barcode Support
- Use bconsole to display Autochanger content
- Bacula Autochanger Interface
- Supported Autochangers
- Data Spooling
- Using Bacula catalog to grab information
- ANSI and IBM Tape Labels
- The Windows Version of Bacula
- Windows Installation
- Post Windows Installation
- Uninstalling Bacula on Windows
- Dealing with Windows Problems
- Windows Compatibility Considerations
- Volume Shadow Copy Service
- VSS Problems
- Windows Firewalls
- Windows Port Usage
- Windows Disaster Recovery
- Windows Restore Problems
- Windows Ownership and Permissions Problems
- Manually resetting the Permissions
- Backing Up the Windows System State
- Fixing the Windows Boot Record
- Considerations for Filename Specifications
- Windows Specific File daemon Command Line
- Shutting down Windows Systems
- Disaster Recovery Using Bacula
- General
- Important Considerations
- Steps to Take Before Disaster Strikes
- Bare Metal Recovery on Linux with a Rescue CD
- Requirements
- Restoring a Client System
- Boot with your Rescue CDROM
- Restoring a Server
- Linux Problems or Bugs
- Bare Metal Recovery using a LiveCD
- FreeBSD Bare Metal Recovery
- Solaris Bare Metal Recovery
- Preparing Solaris Before a Disaster
- Bugs and Other Considerations
- Disaster Recovery of Win32 Systems
- Ownership and Permissions on Win32 Systems
- Alternate Disaster Recovery Suggestion for Win32 Systems
- Restoring to a Running System
- Additional Resources
- Bacula TLS – Communications Encryption
- TLS Configuration Directives
- Creating a Self-signed Certificate
- Getting a CA Signed Certificate
- Example TLS Configuration Files
- Data Encryption
- Building Bacula with Encryption Support
- Encryption Technical Details
- Decrypting with a Master Key
- Generating Private/Public Encryption Keys
- Example Data Encryption Configuration
- Using Bacula to Improve Computer Security
- Installing and Configuring MySQL
- Installing and Configuring MySQL – Phase I
- Installing and Configuring MySQL – Phase II
- Re-initializing the Catalog Database
- Linking Bacula with MySQL
- Installing MySQL from RPMs
- Upgrading MySQL
- Installing and Configuring PostgreSQL
- Installing PostgreSQL
- Configuring PostgreSQL
- Re-initializing the Catalog Database
- Installing PostgreSQL from RPMs
- Converting from MySQL to PostgreSQL
- Upgrading PostgreSQL
- Tuning PostgreSQL
- Credits
- Installing and Configuring SQLite
- Installing and Configuring SQLite – Phase I
- Installing and Configuring SQLite – Phase II
- Linking Bacula with SQLite
- Testing SQLite
- Re-initializing the Catalog Database
- Catalog Maintenance
- Setting Retention Periods
- Compacting Your MySQL Database
- Repairing Your MySQL Database
- MySQL Table is Full
- MySQL Server Has Gone Away
- MySQL Temporary Tables
- Repairing Your PostgreSQL Database
- Database Performance Issues
- Performance Issues Indexes
- Compacting Your PostgreSQL Database
- Compacting Your SQLite Database
- Migrating from SQLite to MySQL or PostgreSQL
- Backing Up Your Bacula Database
- Security considerations
- Backing Up Third Party Databases
- Database Size
- Bacula Security Issues
- The Bootstrap File
- Bootstrap File Format
- Automatic Generation of Bootstrap Files
- Bootstrap for bscan
- A Final Bootstrap Example
- Bacula Copyright, Trademark, and Licenses
- CC-BY-SA
- GPL
- LGPL
- Public Domain
- Trademark
- Fiduciary License Agreement
- Disclaimer
- Authors
- Creative Commons Attribution-ShareAlike 4.0 International
- Affero GNU General Public License
- GNU Lesser General Public License
- Table of Contents
- GNU LESSER GENERAL PUBLIC LICENSE
- Preamble
- TERMS AND CONDITIONS
- How to Apply These Terms to Your New Libraries
- Thanks
- Index
- About this document …