Next:
List of Figures
Up:
Bacula User's Guide
Previous:
Bacula User's Guide
Index
Contents
List of Figures
List of Tables
What is Bacula?
Who Needs Bacula?
Bacula Components or Services
Bacula Director
Bacula Console
Bacula File
Bacula Storage
Catalog
Bacula Monitor
Bacula Configuration
Conventions Used in this Document
Quick Start
Terminology
What Bacula is Not
Interactions Between the Bacula Services
The Current State of Bacula
What is Implemented
Advantages Over Other Backup Programs
Current Implementation Restrictions
Design Limitations or Restrictions
System Requirements
Supported Operating Systems
Supported Tape Drives
Don't see your drive?
Unsupported Tape Drives
FreeBSD Users Be Aware!!!
Supported Autochangers
Tape Specifications
Getting Started with Bacula
Understanding Jobs and Schedules
Understanding Pools, Volumes and Labels
Setting Up Bacula Configuration Files
Configuring the Console Program
Configuring the Monitor Program
Configuring the File daemon
Configuring the Director
Configuring the Storage daemon
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
Installing Tray Monitor
GNOME
KDE
Other window managers
Modifying the Bacula Configuration Files
Critical Items to Implement Before Production
Critical Items
Recommended Items
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
Comments
Upper and Lower Case and Spaces
Including other Configuration Files
Recognized Primitive Data Types
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 Scratch Pool
The Catalog Resource
The Messages Resource
The Console Resource
The Counter Resource
Example Director Configuration File
Client/File daemon Configuration
The Client Resource
The Director Resource
The Message Resource
Example Client Configuration File
Storage Daemon Configuration
Storage Resource
Director Resource
Device Resource
Edit Codes for Mount and Unmount Directives
Devices that require a mount (DVD)
Autochanger Resource
Capabilities
Messages Resource
Sample Storage Daemon Configuration File
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
Sample File daemon's Director record.
Sample Storage daemon's Director record.
Sample Director's Console record.
Bacula Console
Console Configuration
Running the Console Program
Stopping the Console Program
Alphabetic List of Console Keywords
Alphabetic List of Console Commands
Special dot Commands
Special At (@) Commands
Running the Console from a Shell Script
Adding Volumes to a Pool
The Restore Command
General
The Restore Command
Selecting Files by Filename
Command Line Arguments
Using File Relocation
Introduction
RegexWhere format
Examples
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
GUI Programs
List of GUI Programs
bimagemgr
bimagemgr installation
bimagemgr usage
Catalog Maintenance
Setting Retention Periods
Compacting Your MySQL Database
Repairing Your MySQL Database
MySQL Table is Full
MySQL Server Has Gone Away
Repairing Your PostgreSQL Database
Database Performance Issues
Performance Issues Indexes
PostgreSQL Indexes
MySQL Indexes
SQLite 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
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
Pool Options to Limit the Volume Usage
Automatic Volume Labeling
Restricting the Number of Volumes and Recycling
Concurrent Disk Jobs
An Example
Backing up to Multiple Disks
Considerations for Multiple Clients
DVD Volumes
DVD Specific SD Directives
Edit Codes for DVD Directives
DVD Specific Director Directives
Other Points
Automated Disk Backup
The Problem
The Solution
Overall Design
Full Pool
Differential Pool
Incremental Pool
The Actual Conf Files
Migration
Migration Job Resource Directives
Migration Pool Resource Directives
Important Migration Considerations
Example Migration Jobs
Backup Strategies
Simple One Tape Backup
Advantages
Disadvantages
Practical Details
Manually Changing Tapes
Daily Tape Rotation
Advantages
Disadvantages
Practical Details
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
Bacula Autochanger Interface
Supported Autochangers
Data Spooling
Data Spooling Directives
!!! MAJOR WARNING !!!
Other Points
Python Scripting
Python Configuration
Bacula Events
Python Objects
Python Console Command
Debugging Python Scripts
Python Example
ANSI and IBM Tape Labels
Director Pool Directive
Storage Daemon Device Directives
Bacula Frequently Asked Questions
What is Bacula?
Does Bacula support Windows?
What language is Bacula written in?
On what machines does Bacula run?
Is Bacula Stable?
I'm Getting Authorization Errors. What is Going On?
Bacula Runs Fine but Cannot Access a Client on a Different Machine. Why?
My Catalog is Full of Test Runs, How Can I Start Over?
I Run a Restore Job and Bacula Hangs. What do I do?
I Cannot Get My Windows Client to Start Automatically?
My Windows Client Immediately Dies When I Start It
My backups are not working on my Windows Client. What should I do?
All my Jobs are scheduled for the same time. Will this cause problems?
Can Bacula Backup My System To Files instead of Tape?
Can I use a dummy device to test the backup?
Can Bacula Backup and Restore Files Bigger than 2 Gigabytes?
I want to stop a job.
Why have You Trademarked the Name Bacula?
Why is the Online Document for Version 1.39 but the Released Version is 1.38?
Does Bacula really save and restore all files?
I want an Incremental but Bacula runs it as a Full backup. Why?
Do you really handle unlimited path lengths?
What Is the Really Unique Feature of Bacula?
How can I force one job to run after another?
I Am Not Getting Email Notification, What Can I Do?
My retention periods don't work
Why aren't my files compressed?
Incremental backups are not working
I am waiting forever for a backup of an offsite machine
SSH hangs forever after starting Bacula
I'm confused by retention periods
MaxVolumeSize is ignored
I get a Connection refused when connecting to my Client
Long running jobs die with Pipe Error
How do I tell the Job which Volume to use?
Password generation
Tips and Suggestions
Upgrading Bacula Versions
Getting Notified of Job Completion
Getting Email Notification to Work
Getting Notified that Bacula is Running
Maintaining a Valid Bootstrap File
Rejected Volumes After a Crash
Security Considerations
Creating Holiday Schedules
Automatic Labeling Using Your Autochanger
Backing Up Portables Using DHCP
Going on Vacation
Exclude Files on Windows Regardless of Case
Executing Scripts on a Remote Machine
Recycling All Your Volumes
Backing up ACLs on ext3 or XFS filesystems
Total Automation of Bacula Tape Handling
Running Concurrent Jobs
Volume Utility Tools
Specifying the Configuration File
Specifying a Device Name For a Tape
Specifying a Device Name For a File
Specifying Volumes
bls
Listing Jobs
Listing Blocks
bextract
Extracting with Include or Exclude Lists
Extracting With a Bootstrap File
Extracting From Multiple Volumes
bscan
Using bscan to Compare a Volume to an existing Catalog
Using bscan to Recreate a Catalog from a Volume
Using bscan to Correct the Volume File Count
After bscan
bcopy
bcopy Command Options
btape
Using btape to Verify your Tape Drive
btape Commands
Other Programs
bsmtp
dbcheck
bregex
bwild
testfind
Testing Your Tape Drive With Bacula
Get Your Tape Drive Working
Problems When no Tape in Drive
Specifying the Configuration File
Specifying a Device Name For a Tape
Specifying a Device Name For a File
btape
Using btape to Verify your Tape Drive
Linux SCSI Tricks
Tips for Resolving Problems
Bacula Saves But Cannot Restore Files
Bacula Cannot Open the Device
Incorrect File Number
Incorrect Number of Blocks or Positioning Errors
Ensuring that the Tape Modes Are Properly Set -- Linux Only
Tape Hardware Compression and Blocking Size
Tape Modes on FreeBSD
Finding your Tape Drives and Autochangers on FreeBSD
Using the OnStream driver on Linux Systems
Hardware Compression on EXB-8900
Using btape to Simulate Filling a Tape
Recovering Files Written With Fixed Block Sizes
Tape Blocking Modes
Details of Tape Modes
Autochanger Errors
Syslog Errors
What To Do When Bacula Crashes (Kaboom)
Traceback
Testing The Traceback
Getting A Traceback On Other Systems
Manually Running Bacula Under The Debugger
Getting Debug Output from Bacula
The Windows Version of Bacula
Win32 Installation
Post Win32 Installation
Uninstalling Bacula on Win32
Dealing with Win32 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 WinNT/XP/2K System State
Considerations for Filename Specifications
Win32 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
Bacula Security Issues
Backward Compatibility
Configuring and Testing TCP Wrappers
Running as non-root
Dealing with Firewalls
Technical Details
A Concrete Example
The Bacula Configuration Files for the Above
How Does It Work?
Important Note
Firewall Problems
Using Bacula to Improve Computer Security
The Details
Running the Verify
What To Do When Differences Are Found
A Verify Configuration Example
Bacula RPM Packaging FAQ
Answers
Build Options
RPM Install Problems
The Bootstrap File
Bootstrap File Format
Automatic Generation of Bootstrap Files
Bootstrap for bscan
A Final Bootstrap Example
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
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
The internal database is not supported, please do not use it.
Internal Bacula Database
Bacula Copyright, Trademark, and Licenses
FDL
GPL
LGPL
Public Domain
Trademark
Fiduciary License Agreement
Disclaimer
GNU Free Documentation License
GNU General Public License
Table of Contents
GNU GENERAL PUBLIC LICENSE
Preamble
TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
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
Bacula Projects
Thanks
Copyrights and Trademarks
Bacula Bugs
Variable Expansion
General Functionality
Bacula Variables
Full Syntax
Semantics
Examples
Using Stunnel to Encrypt Communications
Communications Ports Used
Encryption
A Picture
Certificates
Securing the Data Channel
Data Channel Configuration
Stunnel Configuration for the Data Channel
Starting and Testing the Data Encryption
Encrypting the Control Channel
Control Channel Configuration
Stunnel Configuration for the Control Channel
Starting and Testing the Control Channel
Using stunnel to Encrypt to a Second Client
Creating a Self-signed Certificate
Getting a CA Signed Certificate
Using ssh to Secure the Communications
General Index
Director Index
File Daemon Index
Storage Daemon Index
Console Index
About this document ...
Kern Sibbald 2009-02-06