\contentsline {chapter}{\numberline {1}What is Bacula?}{1}{chapter.1}
\contentsline {section}{\numberline {1.1}Who Needs Bacula?}{1}{section.1.1}
\contentsline {section}{\numberline {1.2}Bacula Components or Services}{1}{section.1.2}
\contentsline {section}{\numberline {1.3}Bacula Configuration}{4}{section.1.3}
\contentsline {section}{\numberline {1.4}Conventions Used in this Document}{4}{section.1.4}
\contentsline {section}{\numberline {1.5}Quick Start}{5}{section.1.5}
\contentsline {section}{\numberline {1.6}Terminology}{5}{section.1.6}
\contentsline {section}{\numberline {1.7}What Bacula is Not}{7}{section.1.7}
\contentsline {section}{\numberline {1.8}Interactions Between the Bacula Services}{7}{section.1.8}
\contentsline {chapter}{\numberline {2}New Features in 5.0.0}{9}{chapter.2}
\contentsline {section}{\numberline {2.1}Truncate volume after purge}{9}{section.2.1}
\contentsline {section}{\numberline {2.2}Maximum Concurent Jobs for Devices}{9}{section.2.2}
\contentsline {section}{\numberline {2.3}Restore from Multiple Storage Daemons}{9}{section.2.3}
\contentsline {section}{\numberline {2.4}File Deduplication using Base Jobs}{10}{section.2.4}
\contentsline {section}{\numberline {2.5}AllowCompression = $<${}yes$|${}no$>${}}{10}{section.2.5}
\contentsline {section}{\numberline {2.6}Accurate Fileset Options}{11}{section.2.6}
\contentsline {section}{\numberline {2.7}Tab-completion for Bconsole}{12}{section.2.7}
\contentsline {section}{\numberline {2.8}Pool File and Job retention}{12}{section.2.8}
\contentsline {section}{\numberline {2.9}Read-only File Daemon using capabilities}{12}{section.2.9}
\contentsline {section}{\numberline {2.10}Bvfs API}{12}{section.2.10}
\contentsline {section}{\numberline {2.11}Testing your Tape Drive}{13}{section.2.11}
\contentsline {section}{\numberline {2.12}New {\bf Block Checksum} Device Directive}{14}{section.2.12}
\contentsline {section}{\numberline {2.13}New Bat Features}{14}{section.2.13}
\contentsline {subsection}{\numberline {2.13.1}Media List View}{14}{subsection.2.13.1}
\contentsline {subsection}{\numberline {2.13.2}Media Information View}{15}{subsection.2.13.2}
\contentsline {subsection}{\numberline {2.13.3}Job Information View}{15}{subsection.2.13.3}
\contentsline {subsection}{\numberline {2.13.4}Autochanger Content View}{15}{subsection.2.13.4}
\contentsline {section}{\numberline {2.14}Bat on Windows}{15}{section.2.14}
\contentsline {section}{\numberline {2.15}New Win32 Installer}{17}{section.2.15}
\contentsline {section}{\numberline {2.16}Win64 Installer}{17}{section.2.16}
\contentsline {section}{\numberline {2.17}Bare Metal Recovery USB Key}{17}{section.2.17}
\contentsline {section}{\numberline {2.18}bconsole Timeout Option}{17}{section.2.18}
\contentsline {section}{\numberline {2.19}Important Changes}{17}{section.2.19}
\contentsline {subsection}{\numberline {2.19.1}Custom Catalog queries}{18}{subsection.2.19.1}
\contentsline {subsection}{\numberline {2.19.2}Deprecated parts}{18}{subsection.2.19.2}
\contentsline {section}{\numberline {2.20}Misc Changes}{18}{section.2.20}
\contentsline {chapter}{\numberline {3}Released Version 3.0.3 and 3.0.3a}{19}{chapter.3}
\contentsline {chapter}{\numberline {4}New Features in Released Version 3.0.2}{21}{chapter.4}
\contentsline {section}{\numberline {4.1}Full Restore from a Given JobId}{21}{section.4.1}
\contentsline {section}{\numberline {4.2}Source Address}{22}{section.4.2}
\contentsline {section}{\numberline {4.3}Show volume availability when doing restore}{22}{section.4.3}
\contentsline {section}{\numberline {4.4}Accurate estimate command}{22}{section.4.4}
\contentsline {chapter}{\numberline {5}New Features in 3.0.0}{25}{chapter.5}
\contentsline {section}{\numberline {5.1}Accurate Backup}{25}{section.5.1}
\contentsline {subsection}{\numberline {5.1.1}Accurate = $<${}yes$|${}no$>${}}{25}{subsection.5.1.1}
\contentsline {section}{\numberline {5.2}Copy Jobs}{25}{section.5.2}
\contentsline {section}{\numberline {5.3}ACL Updates}{28}{section.5.3}
\contentsline {section}{\numberline {5.4}Extended Attributes}{29}{section.5.4}
\contentsline {section}{\numberline {5.5}Shared objects}{30}{section.5.5}
\contentsline {section}{\numberline {5.6}Building Static versions of Bacula}{30}{section.5.6}
\contentsline {section}{\numberline {5.7}Virtual Backup (Vbackup)}{30}{section.5.7}
\contentsline {section}{\numberline {5.8}Catalog Format}{32}{section.5.8}
\contentsline {section}{\numberline {5.9}64 bit Windows Client}{32}{section.5.9}
\contentsline {section}{\numberline {5.10}Duplicate Job Control}{33}{section.5.10}
\contentsline {subsection}{\numberline {5.10.1}Allow Duplicate Jobs = $<${}yes$|${}no$>${}}{33}{subsection.5.10.1}
\contentsline {subsection}{\numberline {5.10.2}Allow Higher Duplicates = $<${}yes$|${}no$>${}}{33}{subsection.5.10.2}
\contentsline {subsection}{\numberline {5.10.3}Cancel Queued Duplicates = $<${}yes$|${}no$>${}}{34}{subsection.5.10.3}
\contentsline {subsection}{\numberline {5.10.4}Cancel Running Duplicates = $<${}yes$|${}no$>${}}{34}{subsection.5.10.4}
\contentsline {section}{\numberline {5.11}TLS Authentication}{34}{section.5.11}
\contentsline {subsection}{\numberline {5.11.1}TLS Authenticate = yes}{34}{subsection.5.11.1}
\contentsline {section}{\numberline {5.12}bextract non-portable Win32 data}{34}{section.5.12}
\contentsline {section}{\numberline {5.13}State File updated at Job Termination}{34}{section.5.13}
\contentsline {section}{\numberline {5.14}MaxFullInterval = $<${}time-interval$>${}}{35}{section.5.14}
\contentsline {section}{\numberline {5.15}MaxDiffInterval = $<${}time-interval$>${}}{35}{section.5.15}
\contentsline {section}{\numberline {5.16}Honor No Dump Flag = $<${}yes$|${}no$>${}}{35}{section.5.16}
\contentsline {section}{\numberline {5.17}Exclude Dir Containing = $<${}filename-string$>${}}{35}{section.5.17}
\contentsline {section}{\numberline {5.18}Bacula Plugins}{36}{section.5.18}
\contentsline {subsection}{\numberline {5.18.1}Plugin Directory}{36}{subsection.5.18.1}
\contentsline {subsection}{\numberline {5.18.2}Plugin Options}{36}{subsection.5.18.2}
\contentsline {subsection}{\numberline {5.18.3}Plugin Options ACL}{36}{subsection.5.18.3}
\contentsline {subsection}{\numberline {5.18.4}Plugin = $<${}plugin-command-string$>${}}{36}{subsection.5.18.4}
\contentsline {section}{\numberline {5.19}The bpipe Plugin}{37}{section.5.19}
\contentsline {section}{\numberline {5.20}Microsoft Exchange Server 2003/2007 Plugin}{38}{section.5.20}
\contentsline {subsection}{\numberline {5.20.1}Background}{38}{subsection.5.20.1}
\contentsline {subsection}{\numberline {5.20.2}Concepts}{38}{subsection.5.20.2}
\contentsline {subsection}{\numberline {5.20.3}Installing}{38}{subsection.5.20.3}
\contentsline {subsection}{\numberline {5.20.4}Backing Up}{38}{subsection.5.20.4}
\contentsline {subsection}{\numberline {5.20.5}Restoring}{39}{subsection.5.20.5}
\contentsline {subsection}{\numberline {5.20.6}Restoring to the Recovery Storage Group}{40}{subsection.5.20.6}
\contentsline {subsection}{\numberline {5.20.7}Restoring on Microsoft Server 2007}{40}{subsection.5.20.7}
\contentsline {subsection}{\numberline {5.20.8}Caveats}{40}{subsection.5.20.8}
\contentsline {section}{\numberline {5.21}libdbi Framework}{40}{section.5.21}
\contentsline {section}{\numberline {5.22}Console Command Additions and Enhancements}{42}{section.5.22}
\contentsline {subsection}{\numberline {5.22.1}Display Autochanger Content}{42}{subsection.5.22.1}
\contentsline {subsection}{\numberline {5.22.2}list joblog job=xxx or jobid=nnn}{42}{subsection.5.22.2}
\contentsline {subsection}{\numberline {5.22.3}Use separator for multiple commands}{42}{subsection.5.22.3}
\contentsline {subsection}{\numberline {5.22.4}Deleting Volumes}{42}{subsection.5.22.4}
\contentsline {section}{\numberline {5.23}Bare Metal Recovery}{43}{section.5.23}
\contentsline {section}{\numberline {5.24}Miscellaneous}{43}{section.5.24}
\contentsline {subsection}{\numberline {5.24.1}Allow Mixed Priority = $<${}yes$|${}no$>${}}{43}{subsection.5.24.1}
\contentsline {subsection}{\numberline {5.24.2}Bootstrap File Directive -- FileRegex}{44}{subsection.5.24.2}
\contentsline {subsection}{\numberline {5.24.3}Bootstrap File Optimization Changes}{44}{subsection.5.24.3}
\contentsline {subsection}{\numberline {5.24.4}Solaris ZFS/NFSv4 ACLs}{44}{subsection.5.24.4}
\contentsline {subsection}{\numberline {5.24.5}Virtual Tape Emulation}{44}{subsection.5.24.5}
\contentsline {subsection}{\numberline {5.24.6}Bat Enhancements}{44}{subsection.5.24.6}
\contentsline {subsection}{\numberline {5.24.7}RunScript Enhancements}{45}{subsection.5.24.7}
\contentsline {subsection}{\numberline {5.24.8}Status Enhancements}{45}{subsection.5.24.8}
\contentsline {subsection}{\numberline {5.24.9}Connect Timeout}{45}{subsection.5.24.9}
\contentsline {subsection}{\numberline {5.24.10}ftruncate for NFS Volumes}{45}{subsection.5.24.10}
\contentsline {subsection}{\numberline {5.24.11}Support for Ubuntu}{45}{subsection.5.24.11}
\contentsline {subsection}{\numberline {5.24.12}Recycle Pool = $<${}pool-name$>${}}{45}{subsection.5.24.12}
\contentsline {subsection}{\numberline {5.24.13}FD Version}{46}{subsection.5.24.13}
\contentsline {subsection}{\numberline {5.24.14}Max Run Sched Time = $<${}time-period-in-seconds$>${}}{46}{subsection.5.24.14}
\contentsline {subsection}{\numberline {5.24.15}Max Wait Time = $<${}time-period-in-seconds$>${}}{46}{subsection.5.24.15}
\contentsline {subsection}{\numberline {5.24.16}Incremental|Differential Max Wait Time = $<${}time-period-in-seconds$>${}}{46}{subsection.5.24.16}
\contentsline {subsection}{\numberline {5.24.17}Max Run Time directives}{46}{subsection.5.24.17}
\contentsline {subsection}{\numberline {5.24.18}Statistics Enhancements}{47}{subsection.5.24.18}
\contentsline {subsection}{\numberline {5.24.19}ScratchPool = $<${}pool-resource-name$>${}}{48}{subsection.5.24.19}
\contentsline {subsection}{\numberline {5.24.20}Enhanced Attribute Despooling}{48}{subsection.5.24.20}
\contentsline {subsection}{\numberline {5.24.21}SpoolSize = $<${}size-specification-in-bytes$>${}}{48}{subsection.5.24.21}
\contentsline {subsection}{\numberline {5.24.22}MaxConsoleConnections = $<${}number$>${}}{48}{subsection.5.24.22}
\contentsline {subsection}{\numberline {5.24.23}VerId = $<${}string$>${}}{49}{subsection.5.24.23}
\contentsline {subsection}{\numberline {5.24.24}dbcheck enhancements}{49}{subsection.5.24.24}
\contentsline {subsection}{\numberline {5.24.25}{-}{-}docdir configure option}{49}{subsection.5.24.25}
\contentsline {subsection}{\numberline {5.24.26}{-}{-}htmldir configure option}{49}{subsection.5.24.26}
\contentsline {subsection}{\numberline {5.24.27}{-}{-}with-plugindir configure option}{49}{subsection.5.24.27}
\contentsline {chapter}{\numberline {6}The Current State of Bacula}{51}{chapter.6}
\contentsline {section}{\numberline {6.1}What is Implemented}{51}{section.6.1}
\contentsline {section}{\numberline {6.2}Advantages Over Other Backup Programs}{53}{section.6.2}
\contentsline {section}{\numberline {6.3}Current Implementation Restrictions}{53}{section.6.3}
\contentsline {section}{\numberline {6.4}Design Limitations or Restrictions}{54}{section.6.4}
\contentsline {section}{\numberline {6.5}Items to Note}{54}{section.6.5}
\contentsline {chapter}{\numberline {7}System Requirements}{55}{chapter.7}
\contentsline {chapter}{\numberline {8}Supported Operating Systems}{57}{chapter.8}
\contentsline {chapter}{\numberline {9}Supported Tape Drives}{59}{chapter.9}
\contentsline {section}{\numberline {9.1}Unsupported Tape Drives}{60}{section.9.1}
\contentsline {section}{\numberline {9.2}FreeBSD Users Be Aware!!!}{60}{section.9.2}
\contentsline {section}{\numberline {9.3}Supported Autochangers}{60}{section.9.3}
\contentsline {section}{\numberline {9.4}Tape Specifications}{60}{section.9.4}
\contentsline {chapter}{\numberline {10}Getting Started with Bacula}{63}{chapter.10}
\contentsline {section}{\numberline {10.1}Understanding Jobs and Schedules}{63}{section.10.1}
\contentsline {section}{\numberline {10.2}Understanding Pools, Volumes and Labels}{63}{section.10.2}
\contentsline {section}{\numberline {10.3}Setting Up Bacula Configuration Files}{64}{section.10.3}
\contentsline {subsection}{\numberline {10.3.1}Configuring the Console Program}{64}{subsection.10.3.1}
\contentsline {subsection}{\numberline {10.3.2}Configuring the Monitor Program}{65}{subsection.10.3.2}
\contentsline {subsection}{\numberline {10.3.3}Configuring the File daemon}{65}{subsection.10.3.3}
\contentsline {subsection}{\numberline {10.3.4}Configuring the Director}{66}{subsection.10.3.4}
\contentsline {subsection}{\numberline {10.3.5}Configuring the Storage daemon}{66}{subsection.10.3.5}
\contentsline {section}{\numberline {10.4}Testing your Configuration Files}{67}{section.10.4}
\contentsline {section}{\numberline {10.5}Testing Compatibility with Your Tape Drive}{67}{section.10.5}
\contentsline {section}{\numberline {10.6}Get Rid of the /lib/tls Directory}{67}{section.10.6}
\contentsline {section}{\numberline {10.7}Running Bacula}{67}{section.10.7}
\contentsline {section}{\numberline {10.8}Log Rotation}{68}{section.10.8}
\contentsline {section}{\numberline {10.9}Log Watch}{68}{section.10.9}
\contentsline {section}{\numberline {10.10}Disaster Recovery}{68}{section.10.10}
\contentsline {chapter}{\numberline {11}Installing Bacula}{69}{chapter.11}
\contentsline {section}{\numberline {11.1}Source Release Files}{69}{section.11.1}
\contentsline {section}{\numberline {11.2}Upgrading Bacula}{70}{section.11.2}
\contentsline {section}{\numberline {11.3}Releases Numbering}{71}{section.11.3}
\contentsline {section}{\numberline {11.4}Dependency Packages}{72}{section.11.4}
\contentsline {section}{\numberline {11.5}Supported Operating Systems}{73}{section.11.5}
\contentsline {section}{\numberline {11.6}Building Bacula from Source}{73}{section.11.6}
\contentsline {section}{\numberline {11.7}What Database to Use?}{75}{section.11.7}
\contentsline {section}{\numberline {11.8}Quick Start}{76}{section.11.8}
\contentsline {section}{\numberline {11.9}Configure Options}{76}{section.11.9}
\contentsline {section}{\numberline {11.10}Recommended Options for Most Systems}{82}{section.11.10}
\contentsline {section}{\numberline {11.11}Red Hat}{82}{section.11.11}
\contentsline {section}{\numberline {11.12}Solaris}{83}{section.11.12}
\contentsline {section}{\numberline {11.13}FreeBSD}{84}{section.11.13}
\contentsline {section}{\numberline {11.14}Win32}{84}{section.11.14}
\contentsline {section}{\numberline {11.15}One File Configure Script}{84}{section.11.15}
\contentsline {section}{\numberline {11.16}Installing Bacula}{84}{section.11.16}
\contentsline {section}{\numberline {11.17}Building a File Daemon or Client}{85}{section.11.17}
\contentsline {section}{\numberline {11.18}Auto Starting the Daemons}{85}{section.11.18}
\contentsline {section}{\numberline {11.19}Other Make Notes}{85}{section.11.19}
\contentsline {section}{\numberline {11.20}Installing Tray Monitor}{87}{section.11.20}
\contentsline {subsection}{\numberline {11.20.1}GNOME}{87}{subsection.11.20.1}
\contentsline {subsection}{\numberline {11.20.2}KDE}{87}{subsection.11.20.2}
\contentsline {subsection}{\numberline {11.20.3}Other window managers}{87}{subsection.11.20.3}
\contentsline {section}{\numberline {11.21}Modifying the Bacula Configuration Files}{87}{section.11.21}
\contentsline {chapter}{\numberline {12}Critical Items to Implement Before Production}{89}{chapter.12}
\contentsline {section}{\numberline {12.1}Critical Items}{89}{section.12.1}
\contentsline {section}{\numberline {12.2}Recommended Items}{90}{section.12.2}
\contentsline {chapter}{\numberline {13}A Brief Tutorial}{91}{chapter.13}
\contentsline {section}{\numberline {13.1}Before Running Bacula}{91}{section.13.1}
\contentsline {section}{\numberline {13.2}Starting the Database}{92}{section.13.2}
\contentsline {section}{\numberline {13.3}Starting the Daemons}{92}{section.13.3}
\contentsline {section}{\numberline {13.4}Using the Director to Query and Start Jobs}{92}{section.13.4}
\contentsline {section}{\numberline {13.5}Running a Job}{94}{section.13.5}
\contentsline {section}{\numberline {13.6}Restoring Your Files}{98}{section.13.6}
\contentsline {section}{\numberline {13.7}Quitting the Console Program}{100}{section.13.7}
\contentsline {section}{\numberline {13.8}Adding a Second Client}{100}{section.13.8}
\contentsline {section}{\numberline {13.9}When The Tape Fills}{101}{section.13.9}
\contentsline {section}{\numberline {13.10}Other Useful Console Commands}{103}{section.13.10}
\contentsline {section}{\numberline {13.11}Debug Daemon Output}{103}{section.13.11}
\contentsline {section}{\numberline {13.12}Patience When Starting Daemons or Mounting Blank Tapes}{104}{section.13.12}
\contentsline {section}{\numberline {13.13}Difficulties Connecting from the FD to the SD}{104}{section.13.13}
\contentsline {section}{\numberline {13.14}Daemon Command Line Options}{104}{section.13.14}
\contentsline {section}{\numberline {13.15}Creating a Pool}{105}{section.13.15}
\contentsline {section}{\numberline {13.16}Labeling Your Volumes}{105}{section.13.16}
\contentsline {section}{\numberline {13.17}Labeling Volumes with the Console Program}{106}{section.13.17}
\contentsline {chapter}{\numberline {14}Customizing the Configuration Files}{109}{chapter.14}
\contentsline {section}{\numberline {14.1}Character Sets}{110}{section.14.1}
\contentsline {section}{\numberline {14.2}Resource Directive Format}{111}{section.14.2}
\contentsline {subsection}{\numberline {14.2.1}Comments}{111}{subsection.14.2.1}
\contentsline {subsection}{\numberline {14.2.2}Upper and Lower Case and Spaces}{111}{subsection.14.2.2}
\contentsline {subsection}{\numberline {14.2.3}Including other Configuration Files}{111}{subsection.14.2.3}
\contentsline {subsection}{\numberline {14.2.4}Recognized Primitive Data Types}{112}{subsection.14.2.4}
\contentsline {section}{\numberline {14.3}Resource Types}{113}{section.14.3}
\contentsline {section}{\numberline {14.4}Names, Passwords and Authorization}{113}{section.14.4}
\contentsline {section}{\numberline {14.5}Detailed Information for each Daemon}{114}{section.14.5}
\contentsline {chapter}{\numberline {15}Configuring the Director}{115}{chapter.15}
\contentsline {section}{\numberline {15.1}Director Resource Types}{115}{section.15.1}
\contentsline {section}{\numberline {15.2}The Director Resource}{116}{section.15.2}
\contentsline {section}{\numberline {15.3}The Job Resource}{118}{section.15.3}
\contentsline {section}{\numberline {15.4}The JobDefs Resource}{132}{section.15.4}
\contentsline {section}{\numberline {15.5}The Schedule Resource}{132}{section.15.5}
\contentsline {section}{\numberline {15.6}Technical Notes on Schedules}{135}{section.15.6}
\contentsline {section}{\numberline {15.7}The FileSet Resource}{135}{section.15.7}
\contentsline {section}{\numberline {15.8}FileSet Examples}{146}{section.15.8}
\contentsline {section}{\numberline {15.9}Backing up Raw Partitions}{151}{section.15.9}
\contentsline {section}{\numberline {15.10}Excluding Files and Directories}{151}{section.15.10}
\contentsline {section}{\numberline {15.11}Windows FileSets}{151}{section.15.11}
\contentsline {section}{\numberline {15.12}Testing Your FileSet}{153}{section.15.12}
\contentsline {section}{\numberline {15.13}The Client Resource}{154}{section.15.13}
\contentsline {section}{\numberline {15.14}The Storage Resource}{155}{section.15.14}
\contentsline {section}{\numberline {15.15}The Pool Resource}{157}{section.15.15}
\contentsline {subsection}{\numberline {15.15.1}The Scratch Pool}{163}{subsection.15.15.1}
\contentsline {section}{\numberline {15.16}The Catalog Resource}{163}{section.15.16}
\contentsline {section}{\numberline {15.17}The Messages Resource}{164}{section.15.17}
\contentsline {section}{\numberline {15.18}The Console Resource}{164}{section.15.18}
\contentsline {section}{\numberline {15.19}The Counter Resource}{166}{section.15.19}
\contentsline {section}{\numberline {15.20}Example Director Configuration File}{166}{section.15.20}
\contentsline {chapter}{\numberline {16}Client/File daemon Configuration}{169}{chapter.16}
\contentsline {section}{\numberline {16.1}The Client Resource}{169}{section.16.1}
\contentsline {section}{\numberline {16.2}The Director Resource}{171}{section.16.2}
\contentsline {section}{\numberline {16.3}The Message Resource}{172}{section.16.3}
\contentsline {section}{\numberline {16.4}Example Client Configuration File}{172}{section.16.4}
\contentsline {chapter}{\numberline {17}Storage Daemon Configuration}{173}{chapter.17}
\contentsline {section}{\numberline {17.1}Storage Resource}{173}{section.17.1}
\contentsline {section}{\numberline {17.2}Director Resource}{175}{section.17.2}
\contentsline {section}{\numberline {17.3}Device Resource}{175}{section.17.3}
\contentsline {section}{\numberline {17.4}Edit Codes for Mount and Unmount Directives}{183}{section.17.4}
\contentsline {section}{\numberline {17.5}Devices that require a mount (DVD)}{183}{section.17.5}
\contentsline {chapter}{\numberline {18}Autochanger Resource}{185}{chapter.18}
\contentsline {section}{\numberline {18.1}Capabilities}{186}{section.18.1}
\contentsline {section}{\numberline {18.2}Messages Resource}{186}{section.18.2}
\contentsline {section}{\numberline {18.3}Sample Storage Daemon Configuration File}{186}{section.18.3}
\contentsline {chapter}{\numberline {19}Messages Resource}{189}{chapter.19}
\contentsline {chapter}{\numberline {20}Console Configuration}{193}{chapter.20}
\contentsline {section}{\numberline {20.1}General}{193}{section.20.1}
\contentsline {section}{\numberline {20.2}The Director Resource}{193}{section.20.2}
\contentsline {section}{\numberline {20.3}The ConsoleFont Resource}{194}{section.20.3}
\contentsline {section}{\numberline {20.4}The Console Resource}{194}{section.20.4}
\contentsline {section}{\numberline {20.5}Console Commands}{196}{section.20.5}
\contentsline {section}{\numberline {20.6}Sample Console Configuration File}{196}{section.20.6}
\contentsline {chapter}{\numberline {21}Monitor Configuration}{197}{chapter.21}
\contentsline {section}{\numberline {21.1}The Monitor Resource}{197}{section.21.1}
\contentsline {section}{\numberline {21.2}The Director Resource}{197}{section.21.2}
\contentsline {section}{\numberline {21.3}The Client Resource}{198}{section.21.3}
\contentsline {section}{\numberline {21.4}The Storage Resource}{198}{section.21.4}
\contentsline {section}{\numberline {21.5}Tray Monitor Security}{199}{section.21.5}
\contentsline {section}{\numberline {21.6}Sample Tray Monitor configuration}{199}{section.21.6}
\contentsline {subsection}{\numberline {21.6.1}Sample File daemon's Director record.}{200}{subsection.21.6.1}
\contentsline {subsection}{\numberline {21.6.2}Sample Storage daemon's Director record.}{200}{subsection.21.6.2}
\contentsline {subsection}{\numberline {21.6.3}Sample Director's Console record.}{200}{subsection.21.6.3}
\contentsline {chapter}{\numberline {22}The Restore Command}{201}{chapter.22}
\contentsline {section}{\numberline {22.1}General}{201}{section.22.1}
\contentsline {section}{\numberline {22.2}The Restore Command}{201}{section.22.2}
\contentsline {subsection}{\numberline {22.2.1}Restore a pruned job using a pattern}{206}{subsection.22.2.1}
\contentsline {section}{\numberline {22.3}Selecting Files by Filename}{206}{section.22.3}
\contentsline {section}{\numberline {22.4}Replace Options}{207}{section.22.4}
\contentsline {section}{\numberline {22.5}Command Line Arguments}{208}{section.22.5}
\contentsline {section}{\numberline {22.6}Using File Relocation}{209}{section.22.6}
\contentsline {subsection}{\numberline {22.6.1}Introduction}{209}{subsection.22.6.1}
\contentsline {subsection}{\numberline {22.6.2}RegexWhere Format}{209}{subsection.22.6.2}
\contentsline {section}{\numberline {22.7}Restoring Directory Attributes}{210}{section.22.7}
\contentsline {section}{\numberline {22.8}Restoring on Windows}{210}{section.22.8}
\contentsline {section}{\numberline {22.9}Restoring Files Can Be Slow}{211}{section.22.9}
\contentsline {section}{\numberline {22.10}Problems Restoring Files}{211}{section.22.10}
\contentsline {section}{\numberline {22.11}Restore Errors}{212}{section.22.11}
\contentsline {section}{\numberline {22.12}Example Restore Job Resource}{212}{section.22.12}
\contentsline {section}{\numberline {22.13}File Selection Commands}{212}{section.22.13}
\contentsline {section}{\numberline {22.14}Restoring When Things Go Wrong}{214}{section.22.14}
\contentsline {chapter}{\numberline {23}Automatic Volume Recycling}{219}{chapter.23}
\contentsline {section}{\numberline {23.1}Automatic Pruning}{220}{section.23.1}
\contentsline {section}{\numberline {23.2}Pruning Directives}{220}{section.23.2}
\contentsline {section}{\numberline {23.3}Recycling Algorithm}{222}{section.23.3}
\contentsline {section}{\numberline {23.4}Recycle Status}{223}{section.23.4}
\contentsline {section}{\numberline {23.5}Making Bacula Use a Single Tape}{224}{section.23.5}
\contentsline {section}{\numberline {23.6}Daily, Weekly, Monthly Tape Usage Example}{224}{section.23.6}
\contentsline {section}{\numberline {23.7} Automatic Pruning and Recycling Example}{226}{section.23.7}
\contentsline {section}{\numberline {23.8}Manually Recycling Volumes}{227}{section.23.8}
\contentsline {chapter}{\numberline {24}Basic Volume Management}{229}{chapter.24}
\contentsline {section}{\numberline {24.1}Key Concepts and Resource Records}{229}{section.24.1}
\contentsline {subsection}{\numberline {24.1.1}Pool Options to Limit the Volume Usage}{230}{subsection.24.1.1}
\contentsline {subsection}{\numberline {24.1.2}Automatic Volume Labeling}{231}{subsection.24.1.2}
\contentsline {subsection}{\numberline {24.1.3}Restricting the Number of Volumes and Recycling}{231}{subsection.24.1.3}
\contentsline {section}{\numberline {24.2}Concurrent Disk Jobs}{232}{section.24.2}
\contentsline {section}{\numberline {24.3}An Example}{233}{section.24.3}
\contentsline {section}{\numberline {24.4}Backing up to Multiple Disks}{235}{section.24.4}
\contentsline {section}{\numberline {24.5}Considerations for Multiple Clients}{236}{section.24.5}
\contentsline {chapter}{\numberline {25}Automated Disk Backup}{241}{chapter.25}
\contentsline {section}{\numberline {25.1}The Problem}{241}{section.25.1}
\contentsline {section}{\numberline {25.2}The Solution}{241}{section.25.2}
\contentsline {section}{\numberline {25.3}Overall Design}{242}{section.25.3}
\contentsline {subsection}{\numberline {25.3.1}Full Pool}{242}{subsection.25.3.1}
\contentsline {subsection}{\numberline {25.3.2}Differential Pool}{243}{subsection.25.3.2}
\contentsline {subsection}{\numberline {25.3.3}Incremental Pool}{243}{subsection.25.3.3}
\contentsline {section}{\numberline {25.4}The Actual Conf Files}{243}{section.25.4}
\contentsline {chapter}{\numberline {26}Migration and Copy}{247}{chapter.26}
\contentsline {section}{\numberline {26.1}Migration and Copy Job Resource Directives}{248}{section.26.1}
\contentsline {section}{\numberline {26.2}Migration Pool Resource Directives}{250}{section.26.2}
\contentsline {section}{\numberline {26.3}Important Migration Considerations}{250}{section.26.3}
\contentsline {section}{\numberline {26.4}Example Migration Jobs}{251}{section.26.4}
\contentsline {chapter}{\numberline {27}Backup Strategies}{253}{chapter.27}
\contentsline {section}{\numberline {27.1}Simple One Tape Backup}{253}{section.27.1}
\contentsline {subsection}{\numberline {27.1.1}Advantages}{253}{subsection.27.1.1}
\contentsline {subsection}{\numberline {27.1.2}Disadvantages}{253}{subsection.27.1.2}
\contentsline {subsection}{\numberline {27.1.3}Practical Details}{253}{subsection.27.1.3}
\contentsline {section}{\numberline {27.2}Manually Changing Tapes}{254}{section.27.2}
\contentsline {section}{\numberline {27.3}Daily Tape Rotation}{254}{section.27.3}
\contentsline {subsection}{\numberline {27.3.1}Advantages}{254}{subsection.27.3.1}
\contentsline {subsection}{\numberline {27.3.2}Disadvantages}{255}{subsection.27.3.2}
\contentsline {subsection}{\numberline {27.3.3}Practical Details}{255}{subsection.27.3.3}
\contentsline {chapter}{\numberline {28}Autochanger Support}{259}{chapter.28}
\contentsline {section}{\numberline {28.1}Knowing What SCSI Devices You Have}{260}{section.28.1}
\contentsline {section}{\numberline {28.2}Example Scripts}{261}{section.28.2}
\contentsline {section}{\numberline {28.3}Slots}{261}{section.28.3}
\contentsline {section}{\numberline {28.4}Multiple Devices}{261}{section.28.4}
\contentsline {section}{\numberline {28.5}Device Configuration Records}{262}{section.28.5}
\contentsline {chapter}{\numberline {29}Autochanger Resource}{265}{chapter.29}
\contentsline {section}{\numberline {29.1}An Example Configuration File}{266}{section.29.1}
\contentsline {section}{\numberline {29.2}A Multi-drive Example Configuration File}{266}{section.29.2}
\contentsline {section}{\numberline {29.3}Specifying Slots When Labeling}{267}{section.29.3}
\contentsline {section}{\numberline {29.4}Changing Cartridges}{268}{section.29.4}
\contentsline {section}{\numberline {29.5}Dealing with Multiple Magazines}{268}{section.29.5}
\contentsline {section}{\numberline {29.6}Simulating Barcodes in your Autochanger}{269}{section.29.6}
\contentsline {section}{\numberline {29.7}The Full Form of the Update Slots Command}{269}{section.29.7}
\contentsline {section}{\numberline {29.8}FreeBSD Issues}{270}{section.29.8}
\contentsline {section}{\numberline {29.9}Testing Autochanger and Adapting mtx-changer script}{270}{section.29.9}
\contentsline {section}{\numberline {29.10}Using the Autochanger}{271}{section.29.10}
\contentsline {section}{\numberline {29.11}Barcode Support}{272}{section.29.11}
\contentsline {section}{\numberline {29.12}Use bconsole to display Autochanger content}{273}{section.29.12}
\contentsline {section}{\numberline {29.13}Bacula Autochanger Interface}{273}{section.29.13}
\contentsline {chapter}{\numberline {30}Supported Autochangers}{275}{chapter.30}
\contentsline {chapter}{\numberline {31}Data Spooling}{279}{chapter.31}
\contentsline {section}{\numberline {31.1}Data Spooling Directives}{279}{section.31.1}
\contentsline {section}{\numberline {31.2}!!! MAJOR WARNING !!!}{280}{section.31.2}
\contentsline {section}{\numberline {31.3}Other Points}{280}{section.31.3}
\contentsline {chapter}{\numberline {32}Using Bacula catalog to grab information}{281}{chapter.32}
\contentsline {section}{\numberline {32.1}Job statistics}{281}{section.32.1}
\contentsline {chapter}{\numberline {33}ANSI and IBM Tape Labels}{283}{chapter.33}
\contentsline {section}{\numberline {33.1}Director Pool Directive}{283}{section.33.1}
\contentsline {section}{\numberline {33.2}Storage Daemon Device Directives}{283}{section.33.2}
\contentsline {chapter}{\numberline {34}The Windows Version of Bacula}{285}{chapter.34}
\contentsline {section}{\numberline {34.1}Win32 Installation}{285}{section.34.1}
\contentsline {section}{\numberline {34.2}Post Win32 Installation}{289}{section.34.2}
\contentsline {section}{\numberline {34.3}Uninstalling Bacula on Win32}{289}{section.34.3}
\contentsline {section}{\numberline {34.4}Dealing with Win32 Problems}{289}{section.34.4}
\contentsline {section}{\numberline {34.5}Windows Compatibility Considerations}{291}{section.34.5}
\contentsline {section}{\numberline {34.6}Volume Shadow Copy Service}{292}{section.34.6}
\contentsline {section}{\numberline {34.7}VSS Problems}{293}{section.34.7}
\contentsline {section}{\numberline {34.8}Windows Firewalls}{294}{section.34.8}
\contentsline {section}{\numberline {34.9}Windows Port Usage}{294}{section.34.9}
\contentsline {section}{\numberline {34.10}Windows Disaster Recovery}{294}{section.34.10}
\contentsline {section}{\numberline {34.11}Windows Restore Problems}{294}{section.34.11}
\contentsline {section}{\numberline {34.12}Windows Ownership and Permissions Problems}{295}{section.34.12}
\contentsline {section}{\numberline {34.13}Manually resetting the Permissions}{295}{section.34.13}
\contentsline {section}{\numberline {34.14}Backing Up the WinNT/XP/2K System State}{297}{section.34.14}
\contentsline {section}{\numberline {34.15}Considerations for Filename Specifications}{298}{section.34.15}
\contentsline {section}{\numberline {34.16}Win32 Specific File daemon Command Line}{298}{section.34.16}
\contentsline {section}{\numberline {34.17}Shutting down Windows Systems}{299}{section.34.17}
\contentsline {chapter}{\numberline {35}Disaster Recovery Using Bacula}{301}{chapter.35}
\contentsline {section}{\numberline {35.1}General}{301}{section.35.1}
\contentsline {section}{\numberline {35.2}Important Considerations}{301}{section.35.2}
\contentsline {section}{\numberline {35.3}Steps to Take Before Disaster Strikes}{301}{section.35.3}
\contentsline {section}{\numberline {35.4}Bare Metal Recovery on Linux with a Rescue CD}{302}{section.35.4}
\contentsline {section}{\numberline {35.5}Requirements}{302}{section.35.5}
\contentsline {section}{\numberline {35.6}Restoring a Client System}{302}{section.35.6}
\contentsline {section}{\numberline {35.7}Boot with your Rescue CDROM}{303}{section.35.7}
\contentsline {section}{\numberline {35.8}Restoring a Server}{305}{section.35.8}
\contentsline {section}{\numberline {35.9}Linux Problems or Bugs}{306}{section.35.9}
\contentsline {section}{\numberline {35.10}Bare Metal Recovery using a LiveCD}{306}{section.35.10}
\contentsline {section}{\numberline {35.11}FreeBSD Bare Metal Recovery}{307}{section.35.11}
\contentsline {section}{\numberline {35.12}Solaris Bare Metal Recovery}{308}{section.35.12}
\contentsline {section}{\numberline {35.13}Preparing Solaris Before a Disaster}{308}{section.35.13}
\contentsline {section}{\numberline {35.14}Bugs and Other Considerations}{309}{section.35.14}
\contentsline {section}{\numberline {35.15}Disaster Recovery of Win32 Systems}{309}{section.35.15}
\contentsline {section}{\numberline {35.16}Ownership and Permissions on Win32 Systems}{309}{section.35.16}
\contentsline {section}{\numberline {35.17}Alternate Disaster Recovery Suggestion for Win32 Systems}{310}{section.35.17}
\contentsline {section}{\numberline {35.18}Restoring to a Running System}{310}{section.35.18}
\contentsline {section}{\numberline {35.19}Additional Resources}{311}{section.35.19}
\contentsline {chapter}{\numberline {36}Bacula TLS -- Communications Encryption}{313}{chapter.36}
\contentsline {section}{\numberline {36.1}TLS Configuration Directives}{313}{section.36.1}
\contentsline {section}{\numberline {36.2}Creating a Self-signed Certificate}{314}{section.36.2}
\contentsline {section}{\numberline {36.3}Getting a CA Signed Certificate}{315}{section.36.3}
\contentsline {section}{\numberline {36.4}Example TLS Configuration Files}{315}{section.36.4}
\contentsline {chapter}{\numberline {37}Data Encryption}{319}{chapter.37}
\contentsline {section}{\numberline {37.1}Building Bacula with Encryption Support}{320}{section.37.1}
\contentsline {section}{\numberline {37.2}Encryption Technical Details}{320}{section.37.2}
\contentsline {section}{\numberline {37.3}Decrypting with a Master Key}{320}{section.37.3}
\contentsline {section}{\numberline {37.4}Generating Private/Public Encryption Keys}{321}{section.37.4}
\contentsline {section}{\numberline {37.5}Example Data Encryption Configuration}{321}{section.37.5}
\contentsline {chapter}{\numberline {38}Using Bacula to Improve Computer Security}{323}{chapter.38}
\contentsline {section}{\numberline {38.1}The Details}{323}{section.38.1}
\contentsline {section}{\numberline {38.2}Running the Verify}{324}{section.38.2}
\contentsline {section}{\numberline {38.3}What To Do When Differences Are Found}{325}{section.38.3}
\contentsline {section}{\numberline {38.4}A Verify Configuration Example}{326}{section.38.4}
\contentsline {chapter}{\numberline {39}Installing and Configuring MySQL}{329}{chapter.39}
\contentsline {section}{\numberline {39.1}Installing and Configuring MySQL -- Phase I}{329}{section.39.1}
\contentsline {section}{\numberline {39.2}Installing and Configuring MySQL -- Phase II}{330}{section.39.2}
\contentsline {section}{\numberline {39.3}Re-initializing the Catalog Database}{331}{section.39.3}
\contentsline {section}{\numberline {39.4}Linking Bacula with MySQL}{331}{section.39.4}
\contentsline {section}{\numberline {39.5}Installing MySQL from RPMs}{332}{section.39.5}
\contentsline {section}{\numberline {39.6}Upgrading MySQL}{332}{section.39.6}
\contentsline {chapter}{\numberline {40}Installing and Configuring PostgreSQL}{333}{chapter.40}
\contentsline {section}{\numberline {40.1}Installing PostgreSQL}{333}{section.40.1}
\contentsline {section}{\numberline {40.2}Configuring PostgreSQL}{334}{section.40.2}
\contentsline {section}{\numberline {40.3}Re-initializing the Catalog Database}{336}{section.40.3}
\contentsline {section}{\numberline {40.4}Installing PostgreSQL from RPMs}{336}{section.40.4}
\contentsline {section}{\numberline {40.5}Converting from MySQL to PostgreSQL}{337}{section.40.5}
\contentsline {section}{\numberline {40.6}Upgrading PostgreSQL}{338}{section.40.6}
\contentsline {section}{\numberline {40.7}Tuning PostgreSQL}{338}{section.40.7}
\contentsline {section}{\numberline {40.8}Credits}{339}{section.40.8}
\contentsline {chapter}{\numberline {41}Installing and Configuring SQLite}{341}{chapter.41}
\contentsline {section}{\numberline {41.1}Installing and Configuring SQLite -- Phase I}{341}{section.41.1}
\contentsline {section}{\numberline {41.2}Installing and Configuring SQLite -- Phase II}{342}{section.41.2}
\contentsline {section}{\numberline {41.3}Linking Bacula with SQLite}{342}{section.41.3}
\contentsline {section}{\numberline {41.4}Testing SQLite}{342}{section.41.4}
\contentsline {section}{\numberline {41.5}Re-initializing the Catalog Database}{342}{section.41.5}
\contentsline {chapter}{\numberline {42}Catalog Maintenance}{345}{chapter.42}
\contentsline {section}{\numberline {42.1}Setting Retention Periods}{345}{section.42.1}
\contentsline {section}{\numberline {42.2}Compacting Your MySQL Database}{346}{section.42.2}
\contentsline {section}{\numberline {42.3}Repairing Your MySQL Database}{347}{section.42.3}
\contentsline {section}{\numberline {42.4}MySQL Table is Full}{347}{section.42.4}
\contentsline {section}{\numberline {42.5}MySQL Server Has Gone Away}{348}{section.42.5}
\contentsline {section}{\numberline {42.6}MySQL Temporary Tables}{348}{section.42.6}
\contentsline {section}{\numberline {42.7}Repairing Your PostgreSQL Database}{348}{section.42.7}
\contentsline {section}{\numberline {42.8}Database Performance Issues}{348}{section.42.8}
\contentsline {section}{\numberline {42.9}Performance Issues Indexes}{349}{section.42.9}
\contentsline {subsection}{\numberline {42.9.1}PostgreSQL Indexes}{349}{subsection.42.9.1}
\contentsline {subsection}{\numberline {42.9.2}MySQL Indexes}{349}{subsection.42.9.2}
\contentsline {subsection}{\numberline {42.9.3}SQLite Indexes}{350}{subsection.42.9.3}
\contentsline {section}{\numberline {42.10}Compacting Your PostgreSQL Database}{350}{section.42.10}
\contentsline {section}{\numberline {42.11}Compacting Your SQLite Database}{351}{section.42.11}
\contentsline {section}{\numberline {42.12}Migrating from SQLite to MySQL or PostgreSQL}{351}{section.42.12}
\contentsline {section}{\numberline {42.13}Backing Up Your Bacula Database}{351}{section.42.13}
\contentsline {section}{\numberline {42.14}Security considerations}{352}{section.42.14}
\contentsline {section}{\numberline {42.15}Backing Up Third Party Databases}{353}{section.42.15}
\contentsline {section}{\numberline {42.16}Database Size}{353}{section.42.16}
\contentsline {chapter}{\numberline {43}Bacula Security Issues}{355}{chapter.43}
\contentsline {section}{\numberline {43.1}Backward Compatibility}{356}{section.43.1}
\contentsline {section}{\numberline {43.2}Configuring and Testing TCP Wrappers}{356}{section.43.2}
\contentsline {section}{\numberline {43.3}Running as non-root}{358}{section.43.3}
\contentsline {chapter}{\numberline {44}The Bootstrap File}{359}{chapter.44}
\contentsline {section}{\numberline {44.1}Bootstrap File Format}{359}{section.44.1}
\contentsline {section}{\numberline {44.2}Automatic Generation of Bootstrap Files}{362}{section.44.2}
\contentsline {section}{\numberline {44.3}Bootstrap for bscan}{363}{section.44.3}
\contentsline {section}{\numberline {44.4}A Final Bootstrap Example}{363}{section.44.4}
\contentsline {chapter}{\numberline {45}Bacula Copyright, Trademark, and Licenses}{365}{chapter.45}
\contentsline {section}{\numberline {45.1}FDL}{365}{section.45.1}
\contentsline {section}{\numberline {45.2}GPL}{365}{section.45.2}
\contentsline {section}{\numberline {45.3}LGPL}{365}{section.45.3}
\contentsline {section}{\numberline {45.4}Public Domain}{365}{section.45.4}
\contentsline {section}{\numberline {45.5}Trademark}{366}{section.45.5}
\contentsline {section}{\numberline {45.6}Fiduciary License Agreement}{366}{section.45.6}
\contentsline {section}{\numberline {45.7}Disclaimer}{366}{section.45.7}
\contentsline {chapter}{\numberline {46}GNU Free Documentation License}{367}{chapter.46}
\contentsline {section}{\numberline {46.1}Table of Contents}{373}{section.46.1}
\contentsline {section}{\numberline {46.2}GNU GENERAL PUBLIC LICENSE}{373}{section.46.2}
\contentsline {section}{\numberline {46.3}Preamble}{373}{section.46.3}
\contentsline {section}{\numberline {46.4}TERMS AND CONDITIONS}{374}{section.46.4}
\contentsline {section}{\numberline {46.5}How to Apply These Terms to Your New Programs}{377}{section.46.5}
\contentsline {section}{\numberline {46.6}Table of Contents}{378}{section.46.6}
\contentsline {section}{\numberline {46.7}GNU LESSER GENERAL PUBLIC LICENSE}{378}{section.46.7}
\contentsline {section}{\numberline {46.8}Preamble}{378}{section.46.8}
\contentsline {section}{\numberline {46.9}TERMS AND CONDITIONS}{379}{section.46.9}
\contentsline {section}{\numberline {46.10}How to Apply These Terms to Your New Libraries}{384}{section.46.10}
\contentsline {chapter}{\numberline {47}Thanks}{385}{chapter.47}
\contentsline {section}{\numberline {47.1}Bacula Bugs}{387}{section.47.1}
