\babel@toc {english}{}
\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}{3}{section.1.3}
\contentsline {section}{\numberline {1.4}Conventions Used in this Document}{4}{section.1.4}
\contentsline {section}{\numberline {1.5}Quick Start}{4}{section.1.5}
\contentsline {section}{\numberline {1.6}Terminology}{4}{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 9.2.0}{9}{chapter.2}
\contentsline {subsection}{\numberline {2.0.1}Enhanced Autochanger Support}{9}{subsection.2.0.1}
\contentsline {subsection}{\numberline {2.0.2}New Prune Command Option}{10}{subsection.2.0.2}
\contentsline {subsection}{\numberline {2.0.3}BConsole Features}{10}{subsection.2.0.3}
\contentsline {subsubsection}{Delete a Client}{10}{section*.8}
\contentsline {subsubsection}{Status Schedule Enhancements}{10}{section*.9}
\contentsline {subsubsection}{Restore option ``noautoparent''}{10}{section*.10}
\contentsline {subsection}{\numberline {2.0.4}Tray Monitor Restore Screen}{10}{subsection.2.0.4}
\contentsline {chapter}{\numberline {3}New Features in 9.0.0}{13}{chapter.3}
\contentsline {subsection}{\numberline {3.0.1}Enhanced Autochanger Support}{13}{subsection.3.0.1}
\contentsline {subsection}{\numberline {3.0.2}Source Code for Windows}{14}{subsection.3.0.2}
\contentsline {subsection}{\numberline {3.0.3}Maximum Virtual Full Interval Option}{14}{subsection.3.0.3}
\contentsline {subsection}{\numberline {3.0.4}Progressive Virtual Full}{14}{subsection.3.0.4}
\contentsline {subsubsection}{Backups To Keep Directive}{14}{section*.11}
\contentsline {subsubsection}{Delete Consolidated Jobs}{15}{section*.12}
\contentsline {subsubsection}{Virtual Full Compatibility}{15}{section*.13}
\contentsline {subsection}{\numberline {3.0.5}TapeAlert Enhancements}{15}{subsection.3.0.5}
\contentsline {subsubsection}{What is New}{15}{section*.14}
\contentsline {subsubsection}{Handling of Alerts}{17}{section*.15}
\contentsline {subsection}{\numberline {3.0.6}New Console ACL Directives}{17}{subsection.3.0.6}
\contentsline {subsubsection}{DirectoryACL}{18}{section*.16}
\contentsline {subsection}{\numberline {3.0.7}New Bconsole ``list'' Command Behavior}{18}{subsection.3.0.7}
\contentsline {subsection}{\numberline {3.0.8}New Console ACL Directives}{18}{subsection.3.0.8}
\contentsline {subsection}{\numberline {3.0.9}Client Initiated Backup}{19}{subsection.3.0.9}
\contentsline {subsection}{\numberline {3.0.10}Configuring Client Initiated Backup}{20}{subsection.3.0.10}
\contentsline {subsection}{\numberline {3.0.11}New Tray Monitor}{21}{subsection.3.0.11}
\contentsline {subsection}{\numberline {3.0.12}Schedule Jobs via the Tray Monitor}{22}{subsection.3.0.12}
\contentsline {subsection}{\numberline {3.0.13}Accurate Option for Verify ``Volume Data'' Job}{25}{subsection.3.0.13}
\contentsline {subsection}{\numberline {3.0.14}FileDaemon Saved Messages Resource Destination}{25}{subsection.3.0.14}
\contentsline {subsection}{\numberline {3.0.15}Minor Enhancements}{25}{subsection.3.0.15}
\contentsline {subsubsection}{New Bconsole ".estimate" Command}{25}{section*.17}
\contentsline {subsubsection}{Traceback and Lockdump}{26}{section*.18}
\contentsline {subsection}{\numberline {3.0.16}Bconsole ``list jobs'' command options}{26}{subsection.3.0.16}
\contentsline {subsection}{\numberline {3.0.17}Minor Enhancements}{26}{subsection.3.0.17}
\contentsline {subsubsection}{New Bconsole "Tee All" Command}{26}{section*.19}
\contentsline {subsection}{\numberline {3.0.18}Bconsole ``list jobs'' command options}{26}{subsection.3.0.18}
\contentsline {subsection}{\numberline {3.0.19}New Bconsole "Tee All" Command}{26}{subsection.3.0.19}
\contentsline {subsection}{\numberline {3.0.20}New Job Edit Codes \%I}{26}{subsection.3.0.20}
\contentsline {subsection}{\numberline {3.0.21}Communication Line Compression}{28}{subsection.3.0.21}
\contentsline {subsection}{\numberline {3.0.22}Deduplication Optimized Volumes}{28}{subsection.3.0.22}
\contentsline {subsection}{\numberline {3.0.23}baculabackupreport}{28}{subsection.3.0.23}
\contentsline {subsection}{\numberline {3.0.24}New Message Identification Format}{28}{subsection.3.0.24}
\contentsline {chapter}{\numberline {4}New Features in 7.4.0}{31}{chapter.4}
\contentsline {section}{\numberline {4.1}New Features in 7.4.3}{31}{section.4.1}
\contentsline {subsection}{\numberline {4.1.1}RunScripts}{31}{subsection.4.1.1}
\contentsline {section}{\numberline {4.2}New Features in 7.4.0}{31}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}Verify Volume Data}{31}{subsection.4.2.1}
\contentsline {subsection}{\numberline {4.2.2}Bconsole ``list jobs'' command options}{32}{subsection.4.2.2}
\contentsline {subsection}{\numberline {4.2.3}Minor Enhancements}{33}{subsection.4.2.3}
\contentsline {subsubsection}{New Bconsole "Tee All" Command}{33}{section*.22}
\contentsline {subsection}{\numberline {4.2.4}Windows Encrypted File System (EFS) Support}{33}{subsection.4.2.4}
\contentsline {subsection}{\numberline {4.2.5}SSL Connections to MySQL}{33}{subsection.4.2.5}
\contentsline {subsection}{\numberline {4.2.6}Max Virtual Full Interval}{33}{subsection.4.2.6}
\contentsline {subsection}{\numberline {4.2.7}New List Volumes Output}{33}{subsection.4.2.7}
\contentsline {chapter}{\numberline {5}New Features in 7.2.0}{35}{chapter.5}
\contentsline {section}{\numberline {5.1}New Features in 7.2.0}{35}{section.5.1}
\contentsline {subsection}{\numberline {5.1.1}New Job Edit Codes \%E \%R}{35}{subsection.5.1.1}
\contentsline {subsection}{\numberline {5.1.2}Enable/Disable commands}{35}{subsection.5.1.2}
\contentsline {section}{\numberline {5.2}Bacula 7.2}{35}{section.5.2}
\contentsline {subsection}{\numberline {5.2.1}Snapshot Management}{35}{subsection.5.2.1}
\contentsline {subsubsection}{Snapshot Backends}{35}{section*.23}
\contentsline {subsubsection}{Application Quiescing}{36}{section*.24}
\contentsline {subsubsection}{New Director Directives}{36}{section*.25}
\contentsline {subsubsection}{Job Output Information}{37}{section*.26}
\contentsline {subsubsection}{New ``snapshot'' Bconsole Commands}{37}{section*.27}
\contentsline {subsubsection}{LVM Backend Restrictions}{38}{section*.28}
\contentsline {subsubsection}{Debug Options}{39}{section*.29}
\contentsline {subsection}{\numberline {5.2.2}Minor Enhancements}{39}{subsection.5.2.2}
\contentsline {subsubsection}{Storage Daemon Reports Disk Usage}{39}{section*.30}
\contentsline {subsection}{\numberline {5.2.3}Data Encryption Cipher Configuration}{39}{subsection.5.2.3}
\contentsline {subsection}{\numberline {5.2.4}Read Only Storage Devices}{40}{subsection.5.2.4}
\contentsline {subsection}{\numberline {5.2.5}New Resume Command}{40}{subsection.5.2.5}
\contentsline {subsection}{\numberline {5.2.6}New Prune ``Expired'' Volume Command}{41}{subsection.5.2.6}
\contentsline {subsection}{\numberline {5.2.7}New Job Edit Codes \%P \%C}{41}{subsection.5.2.7}
\contentsline {subsection}{\numberline {5.2.8}Enhanced Status and Error Messages}{41}{subsection.5.2.8}
\contentsline {subsection}{\numberline {5.2.9}Miscellaneous New Features}{41}{subsection.5.2.9}
\contentsline {subsection}{\numberline {5.2.10}FD Storage Address}{42}{subsection.5.2.10}
\contentsline {subsection}{\numberline {5.2.11}Maximum Concurrent Read Jobs}{42}{subsection.5.2.11}
\contentsline {subsection}{\numberline {5.2.12}Incomplete Jobs}{42}{subsection.5.2.12}
\contentsline {subsection}{\numberline {5.2.13}The Stop Command}{42}{subsection.5.2.13}
\contentsline {subsection}{\numberline {5.2.14}The Restart Command}{43}{subsection.5.2.14}
\contentsline {subsection}{\numberline {5.2.15}Job Bandwidth Limitation}{43}{subsection.5.2.15}
\contentsline {subsection}{\numberline {5.2.16}Always Backup a File}{44}{subsection.5.2.16}
\contentsline {subsection}{\numberline {5.2.17}Setting Accurate Mode at Runtime}{44}{subsection.5.2.17}
\contentsline {subsection}{\numberline {5.2.18}Additions to RunScript variables}{45}{subsection.5.2.18}
\contentsline {subsection}{\numberline {5.2.19}LZO Compression}{45}{subsection.5.2.19}
\contentsline {subsection}{\numberline {5.2.20}Purge Migration Job}{45}{subsection.5.2.20}
\contentsline {subsection}{\numberline {5.2.21}Changes in the Pruning Algorithm}{46}{subsection.5.2.21}
\contentsline {subsection}{\numberline {5.2.22}Ability to Verify any specified Job}{46}{subsection.5.2.22}
\contentsline {chapter}{\numberline {6}New Features in 7.0.0}{47}{chapter.6}
\contentsline {section}{\numberline {6.1}New Features in 7.0.0}{47}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}Storage daemon to Storage daemon}{47}{subsection.6.1.1}
\contentsline {subsection}{\numberline {6.1.2}SD Calls Client}{47}{subsection.6.1.2}
\contentsline {subsection}{\numberline {6.1.3}Next Pool}{48}{subsection.6.1.3}
\contentsline {subsection}{\numberline {6.1.4}status storage}{48}{subsection.6.1.4}
\contentsline {subsection}{\numberline {6.1.5}status schedule}{48}{subsection.6.1.5}
\contentsline {subsection}{\numberline {6.1.6}Data Encryption Cipher Configuration}{49}{subsection.6.1.6}
\contentsline {subsection}{\numberline {6.1.7}New Truncate Command}{49}{subsection.6.1.7}
\contentsline {subsection}{\numberline {6.1.8}Migration/Copy/VirtualFull Performance Enhancements}{49}{subsection.6.1.8}
\contentsline {subsection}{\numberline {6.1.9}VirtualFull Backup Consolidation Enhancements}{50}{subsection.6.1.9}
\contentsline {subsection}{\numberline {6.1.10}FD Storage Address}{50}{subsection.6.1.10}
\contentsline {subsection}{\numberline {6.1.11}Job Bandwidth Limitation}{51}{subsection.6.1.11}
\contentsline {subsection}{\numberline {6.1.12}Maximum Concurrent Read Jobs}{52}{subsection.6.1.12}
\contentsline {subsection}{\numberline {6.1.13}Director job Codes in Message Resource Commands}{52}{subsection.6.1.13}
\contentsline {subsection}{\numberline {6.1.14}Additions to RunScript variables}{52}{subsection.6.1.14}
\contentsline {subsection}{\numberline {6.1.15}Read Only Storage Devices}{53}{subsection.6.1.15}
\contentsline {subsection}{\numberline {6.1.16}New Prune ``Expired'' Volume Command}{53}{subsection.6.1.16}
\contentsline {subsection}{\numberline {6.1.17}Hardlink Performance Enhancements}{53}{subsection.6.1.17}
\contentsline {subsection}{\numberline {6.1.18}DisableCommand Directive}{53}{subsection.6.1.18}
\contentsline {subsection}{\numberline {6.1.19}Multiple Console Directors}{54}{subsection.6.1.19}
\contentsline {subsection}{\numberline {6.1.20}Restricted Consoles}{54}{subsection.6.1.20}
\contentsline {subsection}{\numberline {6.1.21}Configuration Files}{54}{subsection.6.1.21}
\contentsline {subsection}{\numberline {6.1.22}Maximum Spawned Jobs}{54}{subsection.6.1.22}
\contentsline {subsection}{\numberline {6.1.23}Progress Meter}{54}{subsection.6.1.23}
\contentsline {subsection}{\numberline {6.1.24}Scheduling a 6th Week}{54}{subsection.6.1.24}
\contentsline {subsection}{\numberline {6.1.25}Scheduling the Last Day of a Month}{54}{subsection.6.1.25}
\contentsline {subsection}{\numberline {6.1.26}Improvements to Cancel and Restart bconsole Commands}{54}{subsection.6.1.26}
\contentsline {subsection}{\numberline {6.1.27}bconsole Performance Improvements}{54}{subsection.6.1.27}
\contentsline {subsection}{\numberline {6.1.28}New .bvfs\_decode\_lstat Command}{55}{subsection.6.1.28}
\contentsline {chapter}{\numberline {7}New Features in 5.2.13}{57}{chapter.7}
\contentsline {subsection}{\numberline {7.0.1}Additions to RunScript variables}{57}{subsection.7.0.1}
\contentsline {section}{\numberline {7.1}New Features in 5.2.1}{57}{section.7.1}
\contentsline {subsection}{\numberline {7.1.1}LZO Compression}{57}{subsection.7.1.1}
\contentsline {subsection}{\numberline {7.1.2}New Tray Monitor}{57}{subsection.7.1.2}
\contentsline {subsection}{\numberline {7.1.3}Purge Migration Job}{59}{subsection.7.1.3}
\contentsline {subsection}{\numberline {7.1.4}Changes in Bvfs (Bacula Virtual FileSystem)}{59}{subsection.7.1.4}
\contentsline {subsection}{\numberline {7.1.5}Changes in the Pruning Algorithm}{62}{subsection.7.1.5}
\contentsline {subsection}{\numberline {7.1.6}Ability to Verify any specified Job}{62}{subsection.7.1.6}
\contentsline {subsection}{\numberline {7.1.7}Additions to RunScript variables}{63}{subsection.7.1.7}
\contentsline {subsection}{\numberline {7.1.8}Additions to the Plugin API}{63}{subsection.7.1.8}
\contentsline {subsubsection}{bfuncs}{63}{section*.42}
\contentsline {subsubsection}{Bacula events}{65}{section*.43}
\contentsline {subsection}{\numberline {7.1.9}ACL enhancements}{65}{subsection.7.1.9}
\contentsline {subsection}{\numberline {7.1.10}XATTR enhancements}{65}{subsection.7.1.10}
\contentsline {subsection}{\numberline {7.1.11}Class Based Database Backend Drivers}{66}{subsection.7.1.11}
\contentsline {subsection}{\numberline {7.1.12}Hash List Enhancements}{67}{subsection.7.1.12}
\contentsline {section}{\numberline {7.2}Release Version 5.0.3}{67}{section.7.2}
\contentsline {section}{\numberline {7.3}Release Version 5.0.2}{67}{section.7.3}
\contentsline {section}{\numberline {7.4}New Features in 5.0.1}{67}{section.7.4}
\contentsline {subsection}{\numberline {7.4.1}Truncate Volume after Purge}{67}{subsection.7.4.1}
\contentsline {subsection}{\numberline {7.4.2}Allow Higher Duplicates}{68}{subsection.7.4.2}
\contentsline {subsection}{\numberline {7.4.3}Cancel Lower Level Duplicates}{68}{subsection.7.4.3}
\contentsline {section}{\numberline {7.5}New Features in 5.0.0}{68}{section.7.5}
\contentsline {subsection}{\numberline {7.5.1}Maximum Concurrent Jobs for Devices}{68}{subsection.7.5.1}
\contentsline {subsection}{\numberline {7.5.2}Restore from Multiple Storage Daemons}{68}{subsection.7.5.2}
\contentsline {subsection}{\numberline {7.5.3}File Deduplication using Base Jobs}{68}{subsection.7.5.3}
\contentsline {subsection}{\numberline {7.5.4}AllowCompression = $<${}yes$|${}no$>${}}{68}{subsection.7.5.4}
\contentsline {subsection}{\numberline {7.5.5}Accurate Fileset Options}{69}{subsection.7.5.5}
\contentsline {subsection}{\numberline {7.5.6}Tab-completion for Bconsole}{69}{subsection.7.5.6}
\contentsline {subsection}{\numberline {7.5.7}Pool File and Job Retention}{70}{subsection.7.5.7}
\contentsline {subsection}{\numberline {7.5.8}Read-only File Daemon using capabilities}{70}{subsection.7.5.8}
\contentsline {subsection}{\numberline {7.5.9}Bvfs API}{70}{subsection.7.5.9}
\contentsline {subsection}{\numberline {7.5.10}Testing your Tape Drive}{70}{subsection.7.5.10}
\contentsline {subsection}{\numberline {7.5.11}New {\bf Block Checksum} Device Directive}{71}{subsection.7.5.11}
\contentsline {subsection}{\numberline {7.5.12}New Bat Features}{71}{subsection.7.5.12}
\contentsline {subsubsection}{Media List View}{71}{section*.44}
\contentsline {subsubsection}{Media Information View}{71}{section*.45}
\contentsline {subsubsection}{Job Information View}{71}{section*.46}
\contentsline {subsubsection}{Autochanger Content View}{71}{section*.47}
\contentsline {subsection}{\numberline {7.5.13}Bat on Windows}{74}{subsection.7.5.13}
\contentsline {subsection}{\numberline {7.5.14}New Win32 Installer}{74}{subsection.7.5.14}
\contentsline {subsection}{\numberline {7.5.15}Win64 Installer}{74}{subsection.7.5.15}
\contentsline {subsection}{\numberline {7.5.16}Linux Bare Metal Recovery USB Key}{74}{subsection.7.5.16}
\contentsline {subsection}{\numberline {7.5.17}bconsole Timeout Option}{74}{subsection.7.5.17}
\contentsline {subsection}{\numberline {7.5.18}Important Changes}{74}{subsection.7.5.18}
\contentsline {subsubsection}{Custom Catalog queries}{75}{section*.49}
\contentsline {subsubsection}{Deprecated parts}{75}{section*.50}
\contentsline {subsection}{\numberline {7.5.19}Misc Changes}{75}{subsection.7.5.19}
\contentsline {chapter}{\numberline {8}Released Version 3.0.3 and 3.0.3a}{77}{chapter.8}
\contentsline {section}{\numberline {8.1}New Features in Released Version 3.0.2}{77}{section.8.1}
\contentsline {subsection}{\numberline {8.1.1}Full Restore from a Given JobId}{77}{subsection.8.1.1}
\contentsline {subsection}{\numberline {8.1.2}Source Address}{77}{subsection.8.1.2}
\contentsline {subsection}{\numberline {8.1.3}Show volume availability when doing restore}{78}{subsection.8.1.3}
\contentsline {subsection}{\numberline {8.1.4}Accurate estimate command}{78}{subsection.8.1.4}
\contentsline {section}{\numberline {8.2}New Features in 3.0.0}{78}{section.8.2}
\contentsline {subsection}{\numberline {8.2.1}Accurate Backup}{79}{subsection.8.2.1}
\contentsline {subsubsection}{Accurate = $<${}yes$|${}no$>${}}{79}{section*.51}
\contentsline {subsection}{\numberline {8.2.2}Copy Jobs}{79}{subsection.8.2.2}
\contentsline {subsection}{\numberline {8.2.3}ACL Updates}{81}{subsection.8.2.3}
\contentsline {subsection}{\numberline {8.2.4}Extended Attributes}{82}{subsection.8.2.4}
\contentsline {subsection}{\numberline {8.2.5}Shared objects}{83}{subsection.8.2.5}
\contentsline {subsection}{\numberline {8.2.6}Building Static versions of Bacula}{83}{subsection.8.2.6}
\contentsline {subsection}{\numberline {8.2.7}Virtual Backup (Vbackup)}{83}{subsection.8.2.7}
\contentsline {subsection}{\numberline {8.2.8}Catalog Format}{85}{subsection.8.2.8}
\contentsline {subsection}{\numberline {8.2.9}64 bit Windows Client}{85}{subsection.8.2.9}
\contentsline {subsection}{\numberline {8.2.10}Duplicate Job Control}{86}{subsection.8.2.10}
\contentsline {subsubsection}{Allow Duplicate Jobs = $<${}yes$|${}no$>${}}{86}{section*.52}
\contentsline {subsubsection}{Allow Higher Duplicates = $<${}yes$|${}no$>${}}{86}{section*.53}
\contentsline {subsubsection}{Cancel Running Duplicates = $<${}yes$|${}no$>${}}{86}{section*.54}
\contentsline {subsubsection}{Cancel Queued Duplicates = $<${}yes$|${}no$>${}}{86}{section*.55}
\contentsline {subsection}{\numberline {8.2.11}TLS Authentication}{86}{subsection.8.2.11}
\contentsline {subsubsection}{TLS Authenticate = yes}{86}{section*.56}
\contentsline {subsection}{\numberline {8.2.12}bextract non-portable Win32 data}{87}{subsection.8.2.12}
\contentsline {subsection}{\numberline {8.2.13}State File updated at Job Termination}{87}{subsection.8.2.13}
\contentsline {subsection}{\numberline {8.2.14}MaxFullInterval = $<${}time-interval$>${}}{87}{subsection.8.2.14}
\contentsline {subsection}{\numberline {8.2.15}MaxDiffInterval = $<${}time-interval$>${}}{87}{subsection.8.2.15}
\contentsline {subsection}{\numberline {8.2.16}Honor No Dump Flag = $<${}yes$|${}no$>${}}{87}{subsection.8.2.16}
\contentsline {subsection}{\numberline {8.2.17}Exclude Dir Containing = $<${}filename-string$>${}}{87}{subsection.8.2.17}
\contentsline {subsection}{\numberline {8.2.18}Bacula Plugins}{88}{subsection.8.2.18}
\contentsline {subsubsection}{Plugin Directory}{88}{section*.57}
\contentsline {subsubsection}{Plugin Options}{88}{section*.58}
\contentsline {subsubsection}{Plugin Options ACL}{88}{section*.59}
\contentsline {subsubsection}{Plugin = $<${}plugin-command-string$>${}}{88}{section*.60}
\contentsline {subsection}{\numberline {8.2.19}The bpipe Plugin}{89}{subsection.8.2.19}
\contentsline {subsection}{\numberline {8.2.20}Microsoft Exchange Server 2003/2007 Plugin}{89}{subsection.8.2.20}
\contentsline {subsubsection}{Background}{89}{section*.61}
\contentsline {subsubsection}{Concepts}{90}{section*.62}
\contentsline {subsubsection}{Installing}{90}{section*.63}
\contentsline {subsubsection}{Backing Up}{90}{section*.64}
\contentsline {subsubsection}{Restoring}{91}{section*.65}
\contentsline {subsubsection}{Restoring to the Recovery Storage Group}{91}{section*.66}
\contentsline {subsubsection}{Restoring on Microsoft Server 2007}{91}{section*.67}
\contentsline {subsubsection}{Caveats}{91}{section*.68}
\contentsline {subsection}{\numberline {8.2.21}libdbi Framework}{92}{subsection.8.2.21}
\contentsline {subsection}{\numberline {8.2.22}Console Command Additions and Enhancements}{93}{subsection.8.2.22}
\contentsline {subsubsection}{Display Autochanger Content}{93}{section*.69}
\contentsline {subsubsection}{list joblog job=xxx or jobid=nnn}{93}{section*.70}
\contentsline {subsubsection}{Use separator for multiple commands}{93}{section*.71}
\contentsline {subsubsection}{Deleting Volumes}{93}{section*.72}
\contentsline {subsection}{\numberline {8.2.23}Bare Metal Recovery}{93}{subsection.8.2.23}
\contentsline {subsection}{\numberline {8.2.24}Miscellaneous}{94}{subsection.8.2.24}
\contentsline {subsubsection}{Allow Mixed Priority = $<${}yes$|${}no$>${}}{94}{section*.73}
\contentsline {subsubsection}{Bootstrap File Directive -- FileRegex}{94}{section*.74}
\contentsline {subsubsection}{Bootstrap File Optimization Changes}{94}{section*.75}
\contentsline {subsubsection}{Solaris ZFS/NFSv4 ACLs}{94}{section*.76}
\contentsline {subsubsection}{Virtual Tape Emulation}{95}{section*.77}
\contentsline {subsubsection}{Bat Enhancements}{95}{section*.78}
\contentsline {subsubsection}{RunScript Enhancements}{95}{section*.79}
\contentsline {subsubsection}{Status Enhancements}{95}{section*.80}
\contentsline {subsubsection}{Connect Timeout}{95}{section*.81}
\contentsline {subsubsection}{ftruncate for NFS Volumes}{95}{section*.82}
\contentsline {subsubsection}{Support for Ubuntu}{95}{section*.83}
\contentsline {subsubsection}{Recycle Pool = $<${}pool-name$>${}}{96}{section*.84}
\contentsline {subsubsection}{FD Version}{96}{section*.85}
\contentsline {subsubsection}{Max Run Sched Time = $<${}time-period-in-seconds$>${}}{96}{section*.86}
\contentsline {subsubsection}{Max Wait Time = $<${}time-period-in-seconds$>${}}{96}{section*.87}
\contentsline {subsubsection}{Incremental|Differential Max Wait Time = $<${}time-period-in-seconds$>${}}{96}{section*.88}
\contentsline {subsubsection}{Max Run Time directives}{96}{section*.89}
\contentsline {subsubsection}{Statistics Enhancements}{96}{section*.90}
\contentsline {subsubsection}{ScratchPool = $<${}pool-resource-name$>${}}{97}{section*.91}
\contentsline {subsubsection}{Enhanced Attribute Despooling}{97}{section*.92}
\contentsline {subsubsection}{SpoolSize = $<${}size-specification-in-bytes$>${}}{97}{section*.93}
\contentsline {subsubsection}{MaximumConsoleConnections = $<${}number$>${}}{97}{section*.94}
\contentsline {subsubsection}{VerId = $<${}string$>${}}{97}{section*.95}
\contentsline {subsubsection}{dbcheck enhancements}{98}{section*.96}
\contentsline {subsubsection}{{-}{-}docdir configure option}{98}{section*.97}
\contentsline {subsubsection}{{-}{-}htmldir configure option}{98}{section*.98}
\contentsline {subsubsection}{{-}{-}with-plugindir configure option}{98}{section*.99}
\contentsline {chapter}{\numberline {9}The Current State of Bacula}{99}{chapter.9}
\contentsline {section}{\numberline {9.1}What is Implemented}{99}{section.9.1}
\contentsline {section}{\numberline {9.2}Advantages Over Other Backup Programs}{101}{section.9.2}
\contentsline {section}{\numberline {9.3}Current Implementation Restrictions}{101}{section.9.3}
\contentsline {section}{\numberline {9.4}Design Limitations or Restrictions}{102}{section.9.4}
\contentsline {section}{\numberline {9.5}Items to Note}{102}{section.9.5}
\contentsline {chapter}{\numberline {10}System Requirements}{103}{chapter.10}
\contentsline {chapter}{\numberline {11}Supported Operating Systems}{105}{chapter.11}
\contentsline {chapter}{\numberline {12}Supported Tape Drives}{107}{chapter.12}
\contentsline {section}{\numberline {12.1}Unsupported Tape Drives}{108}{section.12.1}
\contentsline {section}{\numberline {12.2}FreeBSD Users Be Aware!!!}{108}{section.12.2}
\contentsline {section}{\numberline {12.3}Supported Autochangers}{108}{section.12.3}
\contentsline {section}{\numberline {12.4}Tape Specifications}{108}{section.12.4}
\contentsline {chapter}{\numberline {13}Getting Started with Bacula}{111}{chapter.13}
\contentsline {section}{\numberline {13.1}Understanding Jobs and Schedules}{111}{section.13.1}
\contentsline {section}{\numberline {13.2}Understanding Pools, Volumes and Labels}{111}{section.13.2}
\contentsline {section}{\numberline {13.3}Setting Up Bacula Configuration Files}{112}{section.13.3}
\contentsline {subsection}{\numberline {13.3.1}Configuring the Console Program}{112}{subsection.13.3.1}
\contentsline {subsection}{\numberline {13.3.2}Configuring the Monitor Program}{112}{subsection.13.3.2}
\contentsline {subsection}{\numberline {13.3.3}Configuring the File daemon}{113}{subsection.13.3.3}
\contentsline {subsection}{\numberline {13.3.4}Configuring the Director}{113}{subsection.13.3.4}
\contentsline {subsection}{\numberline {13.3.5}Configuring the Storage daemon}{114}{subsection.13.3.5}
\contentsline {section}{\numberline {13.4}Testing your Configuration Files}{114}{section.13.4}
\contentsline {section}{\numberline {13.5}Testing Compatibility with Your Tape Drive}{114}{section.13.5}
\contentsline {section}{\numberline {13.6}Get Rid of the /lib/tls Directory}{114}{section.13.6}
\contentsline {section}{\numberline {13.7}Running Bacula}{115}{section.13.7}
\contentsline {section}{\numberline {13.8}Log Rotation}{115}{section.13.8}
\contentsline {section}{\numberline {13.9}Log Watch}{115}{section.13.9}
\contentsline {section}{\numberline {13.10}Disaster Recovery}{115}{section.13.10}
\contentsline {chapter}{\numberline {14}Installing Bacula}{117}{chapter.14}
\contentsline {section}{\numberline {14.1}Source Release Files}{117}{section.14.1}
\contentsline {section}{\numberline {14.2}Upgrading Bacula}{117}{section.14.2}
\contentsline {section}{\numberline {14.3}Releases Numbering}{119}{section.14.3}
\contentsline {section}{\numberline {14.4}Dependency Packages}{120}{section.14.4}
\contentsline {section}{\numberline {14.5}Supported Operating Systems}{121}{section.14.5}
\contentsline {section}{\numberline {14.6}Building Bacula from Source}{121}{section.14.6}
\contentsline {section}{\numberline {14.7}What Database to Use?}{123}{section.14.7}
\contentsline {section}{\numberline {14.8}Quick Start}{124}{section.14.8}
\contentsline {section}{\numberline {14.9}Configure Options}{124}{section.14.9}
\contentsline {section}{\numberline {14.10}Recommended Options for Most Systems}{129}{section.14.10}
\contentsline {section}{\numberline {14.11}Red Hat}{129}{section.14.11}
\contentsline {section}{\numberline {14.12}Solaris}{130}{section.14.12}
\contentsline {section}{\numberline {14.13}FreeBSD}{131}{section.14.13}
\contentsline {section}{\numberline {14.14}Win32}{131}{section.14.14}
\contentsline {section}{\numberline {14.15}One File Configure Script}{131}{section.14.15}
\contentsline {section}{\numberline {14.16}Installing Bacula}{131}{section.14.16}
\contentsline {section}{\numberline {14.17}Building a File Daemon or Client}{131}{section.14.17}
\contentsline {section}{\numberline {14.18}Auto Starting the Daemons}{132}{section.14.18}
\contentsline {section}{\numberline {14.19}Other Make Notes}{132}{section.14.19}
\contentsline {section}{\numberline {14.20}Modifying the Bacula Configuration Files}{133}{section.14.20}
\contentsline {chapter}{\numberline {15}Critical Items to Implement Before Production}{135}{chapter.15}
\contentsline {section}{\numberline {15.1}Critical Items}{135}{section.15.1}
\contentsline {section}{\numberline {15.2}Recommended Items}{136}{section.15.2}
\contentsline {chapter}{\numberline {16}A Brief Tutorial}{137}{chapter.16}
\contentsline {section}{\numberline {16.1}Before Running Bacula}{137}{section.16.1}
\contentsline {section}{\numberline {16.2}Starting the Database}{137}{section.16.2}
\contentsline {section}{\numberline {16.3}Starting the Daemons}{138}{section.16.3}
\contentsline {section}{\numberline {16.4}Using the Director to Query and Start Jobs}{138}{section.16.4}
\contentsline {section}{\numberline {16.5}Running a Job}{139}{section.16.5}
\contentsline {section}{\numberline {16.6}Restoring Your Files}{143}{section.16.6}
\contentsline {section}{\numberline {16.7}Quitting the Console Program}{144}{section.16.7}
\contentsline {section}{\numberline {16.8}Adding a Second Client}{144}{section.16.8}
\contentsline {section}{\numberline {16.9}When The Tape Fills}{146}{section.16.9}
\contentsline {section}{\numberline {16.10}Other Useful Console Commands}{147}{section.16.10}
\contentsline {section}{\numberline {16.11}Debug Daemon Output}{147}{section.16.11}
\contentsline {section}{\numberline {16.12}Patience When Starting Daemons or Mounting Blank Tapes}{148}{section.16.12}
\contentsline {section}{\numberline {16.13}Difficulties Connecting from the FD to the SD}{148}{section.16.13}
\contentsline {section}{\numberline {16.14}Daemon Command Line Options}{148}{section.16.14}
\contentsline {section}{\numberline {16.15}Creating a Pool}{149}{section.16.15}
\contentsline {section}{\numberline {16.16}Labeling Your Volumes}{149}{section.16.16}
\contentsline {section}{\numberline {16.17}Labeling Volumes with the Console Program}{149}{section.16.17}
\contentsline {chapter}{\numberline {17}Customizing the Configuration Files}{151}{chapter.17}
\contentsline {section}{\numberline {17.1}Character Sets}{152}{section.17.1}
\contentsline {section}{\numberline {17.2}Resource Directive Format}{152}{section.17.2}
\contentsline {subsection}{\numberline {17.2.1}Comments}{152}{subsection.17.2.1}
\contentsline {subsection}{\numberline {17.2.2}Upper and Lower Case and Spaces}{152}{subsection.17.2.2}
\contentsline {subsection}{\numberline {17.2.3}Including other Configuration Files}{153}{subsection.17.2.3}
\contentsline {subsection}{\numberline {17.2.4}Recognized Primitive Data Types}{153}{subsection.17.2.4}
\contentsline {section}{\numberline {17.3}Resource Types}{154}{section.17.3}
\contentsline {section}{\numberline {17.4}Names, Passwords and Authorization}{154}{section.17.4}
\contentsline {section}{\numberline {17.5}Detailed Information for each Daemon}{155}{section.17.5}
\contentsline {chapter}{\numberline {18}Configuring the Director}{157}{chapter.18}
\contentsline {section}{\numberline {18.1}Director Resource Types}{157}{section.18.1}
\contentsline {section}{\numberline {18.2}The Director Resource}{158}{section.18.2}
\contentsline {section}{\numberline {18.3}The Job Resource}{160}{section.18.3}
\contentsline {section}{\numberline {18.4}The JobDefs Resource}{177}{section.18.4}
\contentsline {section}{\numberline {18.5}The Schedule Resource}{177}{section.18.5}
\contentsline {section}{\numberline {18.6}Technical Notes on Schedules}{180}{section.18.6}
\contentsline {section}{\numberline {18.7}The FileSet Resource}{180}{section.18.7}
\contentsline {section}{\numberline {18.8}FileSet Examples}{192}{section.18.8}
\contentsline {section}{\numberline {18.9}Backing up Raw Partitions}{195}{section.18.9}
\contentsline {section}{\numberline {18.10}Excluding Files and Directories}{195}{section.18.10}
\contentsline {section}{\numberline {18.11}Windows FileSets}{196}{section.18.11}
\contentsline {section}{\numberline {18.12}Testing Your FileSet}{198}{section.18.12}
\contentsline {section}{\numberline {18.13}The Client Resource}{198}{section.18.13}
\contentsline {section}{\numberline {18.14}The Storage Resource}{200}{section.18.14}
\contentsline {section}{\numberline {18.15}The Autochanger Resources}{203}{section.18.15}
\contentsline {section}{\numberline {18.16}The Pool Resource}{204}{section.18.16}
\contentsline {subsection}{\numberline {18.16.1}The Scratch Pool}{210}{subsection.18.16.1}
\contentsline {section}{\numberline {18.17}The Catalog Resource}{210}{section.18.17}
\contentsline {section}{\numberline {18.18}The Messages Resource}{211}{section.18.18}
\contentsline {section}{\numberline {18.19}The Console Resource}{212}{section.18.19}
\contentsline {section}{\numberline {18.20}The Counter Resource}{213}{section.18.20}
\contentsline {section}{\numberline {18.21}Example Director Configuration File}{213}{section.18.21}
\contentsline {chapter}{\numberline {19}Client/File daemon Configuration}{217}{chapter.19}
\contentsline {section}{\numberline {19.1}The Client Resource}{217}{section.19.1}
\contentsline {section}{\numberline {19.2}The Director Resource}{219}{section.19.2}
\contentsline {section}{\numberline {19.3}The Message Resource}{220}{section.19.3}
\contentsline {section}{\numberline {19.4}Example Client Configuration File}{220}{section.19.4}
\contentsline {chapter}{\numberline {20}Storage Daemon Configuration}{221}{chapter.20}
\contentsline {section}{\numberline {20.1}Storage Resource}{221}{section.20.1}
\contentsline {section}{\numberline {20.2}Director Resource}{223}{section.20.2}
\contentsline {section}{\numberline {20.3}Device Resource}{223}{section.20.3}
\contentsline {section}{\numberline {20.4}Edit Codes for Mount and Unmount Directives}{230}{section.20.4}
\contentsline {section}{\numberline {20.5}Devices that require a mount (USB)}{230}{section.20.5}
\contentsline {section}{\numberline {20.6}Capabilities}{231}{section.20.6}
\contentsline {section}{\numberline {20.7}Messages Resource}{231}{section.20.7}
\contentsline {section}{\numberline {20.8}Sample Storage Daemon Configuration File}{232}{section.20.8}
\contentsline {chapter}{\numberline {21}Messages Resource}{235}{chapter.21}
\contentsline {chapter}{\numberline {22}Console Configuration}{239}{chapter.22}
\contentsline {section}{\numberline {22.1}General}{239}{section.22.1}
\contentsline {section}{\numberline {22.2}The Director Resource}{239}{section.22.2}
\contentsline {section}{\numberline {22.3}The ConsoleFont Resource}{239}{section.22.3}
\contentsline {section}{\numberline {22.4}The Console Resource}{240}{section.22.4}
\contentsline {section}{\numberline {22.5}Console Commands}{242}{section.22.5}
\contentsline {section}{\numberline {22.6}Sample Console Configuration File}{242}{section.22.6}
\contentsline {chapter}{\numberline {23}Monitor Configuration}{243}{chapter.23}
\contentsline {section}{\numberline {23.1}The Monitor Resource}{243}{section.23.1}
\contentsline {section}{\numberline {23.2}The Director Resource}{243}{section.23.2}
\contentsline {section}{\numberline {23.3}The Client Resource}{244}{section.23.3}
\contentsline {section}{\numberline {23.4}The Storage Resource}{244}{section.23.4}
\contentsline {section}{\numberline {23.5}Tray Monitor Security}{244}{section.23.5}
\contentsline {section}{\numberline {23.6}Sample Tray Monitor configuration}{245}{section.23.6}
\contentsline {subsection}{\numberline {23.6.1}Sample File daemon's Director record.}{245}{subsection.23.6.1}
\contentsline {subsection}{\numberline {23.6.2}Sample Storage daemon's Director record.}{245}{subsection.23.6.2}
\contentsline {subsection}{\numberline {23.6.3}Sample Director's Console record.}{246}{subsection.23.6.3}
\contentsline {chapter}{\numberline {24}The Restore Command}{247}{chapter.24}
\contentsline {section}{\numberline {24.1}General}{247}{section.24.1}
\contentsline {section}{\numberline {24.2}The Restore Command}{247}{section.24.2}
\contentsline {subsection}{\numberline {24.2.1}Restore a pruned job using a pattern}{251}{subsection.24.2.1}
\contentsline {section}{\numberline {24.3}Selecting Files by Filename}{252}{section.24.3}
\contentsline {section}{\numberline {24.4}Replace Options}{253}{section.24.4}
\contentsline {section}{\numberline {24.5}Command Line Arguments}{253}{section.24.5}
\contentsline {section}{\numberline {24.6}Using File Relocation}{254}{section.24.6}
\contentsline {subsection}{\numberline {24.6.1}Introduction}{254}{subsection.24.6.1}
\contentsline {subsection}{\numberline {24.6.2}RegexWhere Format}{254}{subsection.24.6.2}
\contentsline {section}{\numberline {24.7}Restoring Directory Attributes}{255}{section.24.7}
\contentsline {section}{\numberline {24.8}Restoring on Windows}{255}{section.24.8}
\contentsline {section}{\numberline {24.9}Restoring Files Can Be Slow}{255}{section.24.9}
\contentsline {section}{\numberline {24.10}Problems Restoring Files}{256}{section.24.10}
\contentsline {section}{\numberline {24.11}Restore Errors}{256}{section.24.11}
\contentsline {section}{\numberline {24.12}Example Restore Job Resource}{257}{section.24.12}
\contentsline {section}{\numberline {24.13}File Selection Commands}{257}{section.24.13}
\contentsline {section}{\numberline {24.14}Restoring When Things Go Wrong}{258}{section.24.14}
\contentsline {chapter}{\numberline {25}Automatic Volume Recycling}{263}{chapter.25}
\contentsline {section}{\numberline {25.1}Automatic Pruning}{264}{section.25.1}
\contentsline {section}{\numberline {25.2}Pruning Directives}{264}{section.25.2}
\contentsline {section}{\numberline {25.3}Recycling Algorithm}{265}{section.25.3}
\contentsline {section}{\numberline {25.4}Recycle Status}{267}{section.25.4}
\contentsline {section}{\numberline {25.5}Making Bacula Use a Single Tape}{268}{section.25.5}
\contentsline {section}{\numberline {25.6}Daily, Weekly, Monthly Tape Usage Example}{268}{section.25.6}
\contentsline {section}{\numberline {25.7} Automatic Pruning and Recycling Example}{269}{section.25.7}
\contentsline {section}{\numberline {25.8}Manually Recycling Volumes}{270}{section.25.8}
\contentsline {chapter}{\numberline {26}Basic Volume Management}{273}{chapter.26}
\contentsline {section}{\numberline {26.1}Key Concepts and Resource Records}{273}{section.26.1}
\contentsline {subsection}{\numberline {26.1.1}Pool Options to Limit the Volume Usage}{274}{subsection.26.1.1}
\contentsline {subsection}{\numberline {26.1.2}Automatic Volume Labeling}{274}{subsection.26.1.2}
\contentsline {subsection}{\numberline {26.1.3}Restricting the Number of Volumes and Recycling}{275}{subsection.26.1.3}
\contentsline {section}{\numberline {26.2}Concurrent Disk Jobs}{276}{section.26.2}
\contentsline {section}{\numberline {26.3}An Example}{276}{section.26.3}
\contentsline {section}{\numberline {26.4}Backing up to Multiple Disks}{279}{section.26.4}
\contentsline {section}{\numberline {26.5}Considerations for Multiple Clients}{280}{section.26.5}
\contentsline {chapter}{\numberline {27}Automated Disk Backup}{283}{chapter.27}
\contentsline {section}{\numberline {27.1}The Problem}{283}{section.27.1}
\contentsline {section}{\numberline {27.2}The Solution}{283}{section.27.2}
\contentsline {section}{\numberline {27.3}Overall Design}{283}{section.27.3}
\contentsline {subsection}{\numberline {27.3.1}Full Pool}{284}{subsection.27.3.1}
\contentsline {subsection}{\numberline {27.3.2}Differential Pool}{284}{subsection.27.3.2}
\contentsline {subsection}{\numberline {27.3.3}Incremental Pool}{285}{subsection.27.3.3}
\contentsline {section}{\numberline {27.4}The Actual Conf Files}{285}{section.27.4}
\contentsline {chapter}{\numberline {28}Migration and Copy}{289}{chapter.28}
\contentsline {subsection}{\numberline {28.0.1}Storage daemon to Storage daemon}{290}{subsection.28.0.1}
\contentsline {section}{\numberline {28.1}Migration and Copy Job Resource Directives}{290}{section.28.1}
\contentsline {section}{\numberline {28.2}Migration Pool Resource Directives}{292}{section.28.2}
\contentsline {section}{\numberline {28.3}Important Migration Considerations}{292}{section.28.3}
\contentsline {section}{\numberline {28.4}Example Migration Jobs}{293}{section.28.4}
\contentsline {section}{\numberline {28.5}Virtual Backup Consolidation}{295}{section.28.5}
\contentsline {subsection}{\numberline {28.5.1}Manually Specify Jobs to Consolidate}{296}{subsection.28.5.1}
\contentsline {chapter}{\numberline {29}File Deduplication using Base Jobs}{299}{chapter.29}
\contentsline {chapter}{\numberline {30}Backup Strategies}{301}{chapter.30}
\contentsline {section}{\numberline {30.1}Simple One Tape Backup}{301}{section.30.1}
\contentsline {subsection}{\numberline {30.1.1}Advantages}{301}{subsection.30.1.1}
\contentsline {subsection}{\numberline {30.1.2}Disadvantages}{301}{subsection.30.1.2}
\contentsline {subsection}{\numberline {30.1.3}Practical Details}{301}{subsection.30.1.3}
\contentsline {section}{\numberline {30.2}Manually Changing Tapes}{301}{section.30.2}
\contentsline {section}{\numberline {30.3}Daily Tape Rotation}{302}{section.30.3}
\contentsline {subsection}{\numberline {30.3.1}Advantages}{302}{subsection.30.3.1}
\contentsline {subsection}{\numberline {30.3.2}Disadvantages}{302}{subsection.30.3.2}
\contentsline {subsection}{\numberline {30.3.3}Practical Details}{303}{subsection.30.3.3}
\contentsline {chapter}{\numberline {31}Autochanger Support}{307}{chapter.31}
\contentsline {section}{\numberline {31.1}Knowing What SCSI Devices You Have}{308}{section.31.1}
\contentsline {section}{\numberline {31.2}Example Scripts}{308}{section.31.2}
\contentsline {section}{\numberline {31.3}Slots}{309}{section.31.3}
\contentsline {section}{\numberline {31.4}Multiple Devices}{309}{section.31.4}
\contentsline {section}{\numberline {31.5}Device Configuration Records}{309}{section.31.5}
\contentsline {chapter}{\numberline {32}Autochanger Resource}{311}{chapter.32}
\contentsline {section}{\numberline {32.1}An Example Configuration File}{312}{section.32.1}
\contentsline {section}{\numberline {32.2}A Multi-drive Example Configuration File}{313}{section.32.2}
\contentsline {section}{\numberline {32.3}Specifying Slots When Labeling}{313}{section.32.3}
\contentsline {section}{\numberline {32.4}Changing Cartridges}{314}{section.32.4}
\contentsline {section}{\numberline {32.5}Dealing with Multiple Magazines}{314}{section.32.5}
\contentsline {section}{\numberline {32.6}Simulating Barcodes in your Autochanger}{314}{section.32.6}
\contentsline {section}{\numberline {32.7}The Full Form of the Update Slots Command}{315}{section.32.7}
\contentsline {section}{\numberline {32.8}FreeBSD Issues}{315}{section.32.8}
\contentsline {section}{\numberline {32.9}Testing Autochanger and Adapting mtx-changer script}{315}{section.32.9}
\contentsline {section}{\numberline {32.10}Using the Autochanger}{317}{section.32.10}
\contentsline {section}{\numberline {32.11}Barcode Support}{318}{section.32.11}
\contentsline {section}{\numberline {32.12}Use bconsole to display Autochanger content}{318}{section.32.12}
\contentsline {section}{\numberline {32.13}Bacula Autochanger Interface}{318}{section.32.13}
\contentsline {chapter}{\numberline {33}Supported Autochangers}{321}{chapter.33}
\contentsline {chapter}{\numberline {34}Data Spooling}{323}{chapter.34}
\contentsline {section}{\numberline {34.1}Data Spooling Directives}{323}{section.34.1}
\contentsline {section}{\numberline {34.2}!!! MAJOR WARNING !!!}{324}{section.34.2}
\contentsline {section}{\numberline {34.3}Other Points}{324}{section.34.3}
\contentsline {chapter}{\numberline {35}Using Bacula catalog to grab information}{325}{chapter.35}
\contentsline {section}{\numberline {35.1}Job statistics}{325}{section.35.1}
\contentsline {chapter}{\numberline {36}ANSI and IBM Tape Labels}{327}{chapter.36}
\contentsline {section}{\numberline {36.1}Director Pool Directive}{327}{section.36.1}
\contentsline {section}{\numberline {36.2}Storage Daemon Device Directives}{327}{section.36.2}
\contentsline {chapter}{\numberline {37}The Windows Version of Bacula}{329}{chapter.37}
\contentsline {section}{\numberline {37.1}Windows Installation}{329}{section.37.1}
\contentsline {section}{\numberline {37.2}Post Windows Installation}{333}{section.37.2}
\contentsline {section}{\numberline {37.3}Uninstalling Bacula on Windows}{333}{section.37.3}
\contentsline {section}{\numberline {37.4}Dealing with Windows Problems}{333}{section.37.4}
\contentsline {section}{\numberline {37.5}Windows Compatibility Considerations}{335}{section.37.5}
\contentsline {section}{\numberline {37.6}Volume Shadow Copy Service}{336}{section.37.6}
\contentsline {section}{\numberline {37.7}VSS Problems}{337}{section.37.7}
\contentsline {section}{\numberline {37.8}Windows Firewalls}{337}{section.37.8}
\contentsline {section}{\numberline {37.9}Windows Port Usage}{337}{section.37.9}
\contentsline {section}{\numberline {37.10}Windows Disaster Recovery}{337}{section.37.10}
\contentsline {section}{\numberline {37.11}Windows Restore Problems}{338}{section.37.11}
\contentsline {section}{\numberline {37.12}Windows Ownership and Permissions Problems}{338}{section.37.12}
\contentsline {section}{\numberline {37.13}Manually resetting the Permissions}{338}{section.37.13}
\contentsline {section}{\numberline {37.14}Backing Up the Windows System State}{340}{section.37.14}
\contentsline {section}{\numberline {37.15}Fixing the Windows Boot Record}{341}{section.37.15}
\contentsline {section}{\numberline {37.16}Considerations for Filename Specifications}{341}{section.37.16}
\contentsline {section}{\numberline {37.17}Windows Specific File daemon Command Line}{341}{section.37.17}
\contentsline {section}{\numberline {37.18}Shutting down Windows Systems}{342}{section.37.18}
\contentsline {chapter}{\numberline {38}Disaster Recovery Using Bacula}{343}{chapter.38}
\contentsline {section}{\numberline {38.1}General}{343}{section.38.1}
\contentsline {section}{\numberline {38.2}Important Considerations}{343}{section.38.2}
\contentsline {section}{\numberline {38.3}Steps to Take Before Disaster Strikes}{343}{section.38.3}
\contentsline {section}{\numberline {38.4}Bare Metal Recovery on Linux with a Rescue CD}{344}{section.38.4}
\contentsline {section}{\numberline {38.5}Requirements}{344}{section.38.5}
\contentsline {section}{\numberline {38.6}Restoring a Client System}{344}{section.38.6}
\contentsline {section}{\numberline {38.7}Boot with your Rescue CDROM}{345}{section.38.7}
\contentsline {section}{\numberline {38.8}Restoring a Server}{346}{section.38.8}
\contentsline {section}{\numberline {38.9}Linux Problems or Bugs}{347}{section.38.9}
\contentsline {section}{\numberline {38.10}Bare Metal Recovery using a LiveCD}{347}{section.38.10}
\contentsline {section}{\numberline {38.11}FreeBSD Bare Metal Recovery}{348}{section.38.11}
\contentsline {section}{\numberline {38.12}Solaris Bare Metal Recovery}{349}{section.38.12}
\contentsline {section}{\numberline {38.13}Preparing Solaris Before a Disaster}{349}{section.38.13}
\contentsline {section}{\numberline {38.14}Bugs and Other Considerations}{349}{section.38.14}
\contentsline {section}{\numberline {38.15}Disaster Recovery of Win32 Systems}{350}{section.38.15}
\contentsline {section}{\numberline {38.16}Ownership and Permissions on Win32 Systems}{350}{section.38.16}
\contentsline {section}{\numberline {38.17}Alternate Disaster Recovery Suggestion for Win32 Systems}{350}{section.38.17}
\contentsline {section}{\numberline {38.18}Restoring to a Running System}{351}{section.38.18}
\contentsline {section}{\numberline {38.19}Additional Resources}{351}{section.38.19}
\contentsline {chapter}{\numberline {39}Bacula TLS -- Communications Encryption}{353}{chapter.39}
\contentsline {section}{\numberline {39.1}TLS Configuration Directives}{353}{section.39.1}
\contentsline {section}{\numberline {39.2}Creating a Self-signed Certificate}{354}{section.39.2}
\contentsline {section}{\numberline {39.3}Getting a CA Signed Certificate}{354}{section.39.3}
\contentsline {section}{\numberline {39.4}Example TLS Configuration Files}{355}{section.39.4}
\contentsline {chapter}{\numberline {40}Data Encryption}{357}{chapter.40}
\contentsline {section}{\numberline {40.1}Building Bacula with Encryption Support}{357}{section.40.1}
\contentsline {section}{\numberline {40.2}Encryption Technical Details}{358}{section.40.2}
\contentsline {section}{\numberline {40.3}Decrypting with a Master Key}{358}{section.40.3}
\contentsline {section}{\numberline {40.4}Generating Private/Public Encryption Keys}{358}{section.40.4}
\contentsline {section}{\numberline {40.5}Example Data Encryption Configuration}{359}{section.40.5}
\contentsline {chapter}{\numberline {41}Using Bacula to Improve Computer Security}{361}{chapter.41}
\contentsline {section}{\numberline {41.1}The Details}{361}{section.41.1}
\contentsline {section}{\numberline {41.2}Running the Verify}{362}{section.41.2}
\contentsline {section}{\numberline {41.3}What To Do When Differences Are Found}{363}{section.41.3}
\contentsline {section}{\numberline {41.4}A Verify Configuration Example}{364}{section.41.4}
\contentsline {chapter}{\numberline {42}Installing and Configuring MySQL}{367}{chapter.42}
\contentsline {section}{\numberline {42.1}Installing and Configuring MySQL -- Phase I}{367}{section.42.1}
\contentsline {section}{\numberline {42.2}Installing and Configuring MySQL -- Phase II}{368}{section.42.2}
\contentsline {section}{\numberline {42.3}Re-initializing the Catalog Database}{369}{section.42.3}
\contentsline {section}{\numberline {42.4}Linking Bacula with MySQL}{369}{section.42.4}
\contentsline {section}{\numberline {42.5}Installing MySQL from RPMs}{370}{section.42.5}
\contentsline {section}{\numberline {42.6}Upgrading MySQL}{370}{section.42.6}
\contentsline {section}{\numberline {42.7}MySQL Configuration Caution}{370}{section.42.7}
\contentsline {chapter}{\numberline {43}Installing and Configuring PostgreSQL}{371}{chapter.43}
\contentsline {section}{\numberline {43.1}Installing PostgreSQL}{371}{section.43.1}
\contentsline {section}{\numberline {43.2}Configuring PostgreSQL}{371}{section.43.2}
\contentsline {section}{\numberline {43.3}Re-initializing the Catalog Database}{374}{section.43.3}
\contentsline {section}{\numberline {43.4}Installing PostgreSQL from RPMs}{374}{section.43.4}
\contentsline {section}{\numberline {43.5}Converting from MySQL to PostgreSQL}{374}{section.43.5}
\contentsline {section}{\numberline {43.6}Upgrading PostgreSQL}{376}{section.43.6}
\contentsline {section}{\numberline {43.7}Tuning PostgreSQL}{376}{section.43.7}
\contentsline {section}{\numberline {43.8}Credits}{376}{section.43.8}
\contentsline {chapter}{\numberline {44}Catalog Maintenance}{377}{chapter.44}
\contentsline {section}{\numberline {44.1}Setting Retention Periods}{377}{section.44.1}
\contentsline {section}{\numberline {44.2}Compacting Your MySQL Database}{378}{section.44.2}
\contentsline {section}{\numberline {44.3}Repairing Your MySQL Database}{378}{section.44.3}
\contentsline {section}{\numberline {44.4}MySQL Table is Full}{379}{section.44.4}
\contentsline {section}{\numberline {44.5}MySQL Server Has Gone Away}{379}{section.44.5}
\contentsline {section}{\numberline {44.6}MySQL Temporary Tables}{379}{section.44.6}
\contentsline {section}{\numberline {44.7}Repairing Your PostgreSQL Database}{380}{section.44.7}
\contentsline {section}{\numberline {44.8}Database Performance Issues}{380}{section.44.8}
\contentsline {section}{\numberline {44.9}Performance Issues Indexes}{380}{section.44.9}
\contentsline {subsection}{\numberline {44.9.1}PostgreSQL Indexes}{380}{subsection.44.9.1}
\contentsline {subsection}{\numberline {44.9.2}MySQL Indexes}{381}{subsection.44.9.2}
\contentsline {section}{\numberline {44.10}Compacting Your PostgreSQL Database}{381}{section.44.10}
\contentsline {section}{\numberline {44.11}Migrating from SQLite to MySQL or PostgreSQL}{381}{section.44.11}
\contentsline {section}{\numberline {44.12}Backing Up Your Bacula Database}{382}{section.44.12}
\contentsline {section}{\numberline {44.13}Security considerations}{382}{section.44.13}
\contentsline {section}{\numberline {44.14}Backing Up Third Party Databases}{383}{section.44.14}
\contentsline {section}{\numberline {44.15}Database Size}{383}{section.44.15}
\contentsline {chapter}{\numberline {45}Bacula Security Issues}{385}{chapter.45}
\contentsline {section}{\numberline {45.1}Backward Compatibility}{385}{section.45.1}
\contentsline {section}{\numberline {45.2}Configuring and Testing TCP Wrappers}{386}{section.45.2}
\contentsline {section}{\numberline {45.3}Running as non-root}{387}{section.45.3}
\contentsline {chapter}{\numberline {46}The Bootstrap File}{389}{chapter.46}
\contentsline {section}{\numberline {46.1}Bootstrap File Format}{389}{section.46.1}
\contentsline {section}{\numberline {46.2}Automatic Generation of Bootstrap Files}{392}{section.46.2}
\contentsline {section}{\numberline {46.3}Bootstrap for bscan}{392}{section.46.3}
\contentsline {section}{\numberline {46.4}A Final Bootstrap Example}{392}{section.46.4}
\contentsline {chapter}{\numberline {47}Bacula Copyright, Trademark, and Licenses}{395}{chapter.47}
\contentsline {section}{\numberline {47.1}CC-BY-SA}{395}{section.47.1}
\contentsline {section}{\numberline {47.2}GPL}{395}{section.47.2}
\contentsline {section}{\numberline {47.3}LGPL}{395}{section.47.3}
\contentsline {section}{\numberline {47.4}Public Domain}{395}{section.47.4}
\contentsline {section}{\numberline {47.5}Trademark}{395}{section.47.5}
\contentsline {section}{\numberline {47.6}Fiduciary License Agreement}{395}{section.47.6}
\contentsline {section}{\numberline {47.7}Disclaimer}{396}{section.47.7}
\contentsline {section}{\numberline {47.8}Authors}{396}{section.47.8}
\contentsline {section}{\numberline {47.9}Table of Contents}{408}{section.47.9}
\contentsline {section}{\numberline {47.10}GNU LESSER GENERAL PUBLIC LICENSE}{408}{section.47.10}
\contentsline {section}{\numberline {47.11}Preamble}{408}{section.47.11}
\contentsline {section}{\numberline {47.12}TERMS AND CONDITIONS}{409}{section.47.12}
\contentsline {section}{\numberline {47.13}How to Apply These Terms to Your New Libraries}{413}{section.47.13}
\contentsline {chapter}{\numberline {48}Thanks}{415}{chapter.48}
\contentsline {section}{\numberline {48.1}Bacula Bugs}{417}{section.48.1}
