\select@language {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 7.4.0}{9}{chapter.2}
\contentsline {section}{\numberline {2.1}New Features in 7.4.3}{9}{section.2.1}
\contentsline {subsection}{\numberline {2.1.1}RunScripts}{9}{subsection.2.1.1}
\contentsline {section}{\numberline {2.2}New Features in 7.4.0}{9}{section.2.2}
\contentsline {subsection}{\numberline {2.2.1}Verify Volume Data}{9}{subsection.2.2.1}
\contentsline {subsection}{\numberline {2.2.2}Bconsole ``list jobs'' command options}{10}{subsection.2.2.2}
\contentsline {subsection}{\numberline {2.2.3}Minor Enhancements}{11}{subsection.2.2.3}
\contentsline {subsubsection}{New Bconsole "Tee All" Command}{11}{section*.8}
\contentsline {subsection}{\numberline {2.2.4}Windows Encrypted File System (EFS) Support}{11}{subsection.2.2.4}
\contentsline {subsection}{\numberline {2.2.5}SSL Connections to MySQL}{11}{subsection.2.2.5}
\contentsline {subsection}{\numberline {2.2.6}Max Virtual Full Interval}{11}{subsection.2.2.6}
\contentsline {subsection}{\numberline {2.2.7}New List Volumes Output}{11}{subsection.2.2.7}
\contentsline {chapter}{\numberline {3}New Features in 7.2.0}{13}{chapter.3}
\contentsline {section}{\numberline {3.1}New Features in 7.2.0}{13}{section.3.1}
\contentsline {subsection}{\numberline {3.1.1}New Job Edit Codes \%E \%R}{13}{subsection.3.1.1}
\contentsline {subsection}{\numberline {3.1.2}Enable/Disable commands}{13}{subsection.3.1.2}
\contentsline {section}{\numberline {3.2}Bacula 7.2}{13}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}Snapshot Management}{13}{subsection.3.2.1}
\contentsline {subsubsection}{Snapshot Backends}{13}{section*.9}
\contentsline {subsubsection}{Application Quiescing}{14}{section*.10}
\contentsline {subsubsection}{New Director Directives}{14}{section*.11}
\contentsline {subsubsection}{Job Output Information}{15}{section*.12}
\contentsline {subsubsection}{New ``snapshot'' Bconsole Commands}{15}{section*.13}
\contentsline {subsubsection}{LVM Backend Restrictions}{16}{section*.14}
\contentsline {subsubsection}{Debug Options}{17}{section*.15}
\contentsline {subsection}{\numberline {3.2.2}Minor Enhancements}{17}{subsection.3.2.2}
\contentsline {subsubsection}{Storage Daemon Reports Disk Usage}{17}{section*.16}
\contentsline {subsection}{\numberline {3.2.3}Data Encryption Cipher Configuration}{17}{subsection.3.2.3}
\contentsline {subsection}{\numberline {3.2.4}Read Only Storage Devices}{19}{subsection.3.2.4}
\contentsline {subsection}{\numberline {3.2.5}New Truncate Command}{19}{subsection.3.2.5}
\contentsline {subsection}{\numberline {3.2.6}New Resume Command}{19}{subsection.3.2.6}
\contentsline {subsection}{\numberline {3.2.7}New Prune ``Expired'' Volume Command}{20}{subsection.3.2.7}
\contentsline {subsection}{\numberline {3.2.8}New Job Edit Codes \%P \%C}{20}{subsection.3.2.8}
\contentsline {subsection}{\numberline {3.2.9}Enhanced Status and Error Messages}{20}{subsection.3.2.9}
\contentsline {subsection}{\numberline {3.2.10}Miscellaneous New Features}{20}{subsection.3.2.10}
\contentsline {subsection}{\numberline {3.2.11}FD Storage Address}{21}{subsection.3.2.11}
\contentsline {subsection}{\numberline {3.2.12}Maximum Concurrent Read Jobs}{21}{subsection.3.2.12}
\contentsline {subsection}{\numberline {3.2.13}Incomplete Jobs}{21}{subsection.3.2.13}
\contentsline {subsection}{\numberline {3.2.14}The Stop Command}{21}{subsection.3.2.14}
\contentsline {subsection}{\numberline {3.2.15}The Restart Command}{22}{subsection.3.2.15}
\contentsline {subsection}{\numberline {3.2.16}Job Bandwidth Limitation}{22}{subsection.3.2.16}
\contentsline {subsection}{\numberline {3.2.17}Always Backup a File}{23}{subsection.3.2.17}
\contentsline {subsection}{\numberline {3.2.18}Setting Accurate Mode at Runtime}{23}{subsection.3.2.18}
\contentsline {subsection}{\numberline {3.2.19}Additions to RunScript variables}{24}{subsection.3.2.19}
\contentsline {subsection}{\numberline {3.2.20}LZO Compression}{24}{subsection.3.2.20}
\contentsline {subsection}{\numberline {3.2.21}Purge Migration Job}{24}{subsection.3.2.21}
\contentsline {subsection}{\numberline {3.2.22}Changes in the Pruning Algorithm}{25}{subsection.3.2.22}
\contentsline {subsection}{\numberline {3.2.23}Ability to Verify any specified Job}{25}{subsection.3.2.23}
\contentsline {chapter}{\numberline {4}New Features in 7.0.0}{27}{chapter.4}
\contentsline {section}{\numberline {4.1}New Features in 7.0.0}{27}{section.4.1}
\contentsline {subsection}{\numberline {4.1.1}Storage daemon to Storage daemon}{27}{subsection.4.1.1}
\contentsline {subsection}{\numberline {4.1.2}SD Calls Client}{27}{subsection.4.1.2}
\contentsline {subsection}{\numberline {4.1.3}Next Pool}{28}{subsection.4.1.3}
\contentsline {subsection}{\numberline {4.1.4}status storage}{28}{subsection.4.1.4}
\contentsline {subsection}{\numberline {4.1.5}status schedule}{28}{subsection.4.1.5}
\contentsline {subsection}{\numberline {4.1.6}Data Encryption Cipher Configuration}{29}{subsection.4.1.6}
\contentsline {subsection}{\numberline {4.1.7}New Truncate Command}{29}{subsection.4.1.7}
\contentsline {subsection}{\numberline {4.1.8}Migration/Copy/VirtualFull Performance Enhancements}{29}{subsection.4.1.8}
\contentsline {subsection}{\numberline {4.1.9}VirtualFull Backup Consolidation Enhancements}{30}{subsection.4.1.9}
\contentsline {subsection}{\numberline {4.1.10}FD Storage Address}{30}{subsection.4.1.10}
\contentsline {subsection}{\numberline {4.1.11}Job Bandwidth Limitation}{31}{subsection.4.1.11}
\contentsline {subsection}{\numberline {4.1.12}Maximum Concurrent Read Jobs}{32}{subsection.4.1.12}
\contentsline {subsection}{\numberline {4.1.13}Director job Codes in Message Resource Commands}{32}{subsection.4.1.13}
\contentsline {subsection}{\numberline {4.1.14}Additions to RunScript variables}{32}{subsection.4.1.14}
\contentsline {subsection}{\numberline {4.1.15}Read Only Storage Devices}{33}{subsection.4.1.15}
\contentsline {subsection}{\numberline {4.1.16}New Prune ``Expired'' Volume Command}{33}{subsection.4.1.16}
\contentsline {subsection}{\numberline {4.1.17}Hardlink Performance Enhancements}{33}{subsection.4.1.17}
\contentsline {subsection}{\numberline {4.1.18}DisableCommand Directive}{33}{subsection.4.1.18}
\contentsline {subsection}{\numberline {4.1.19}Multiple Console Directors}{34}{subsection.4.1.19}
\contentsline {subsection}{\numberline {4.1.20}Restricted Consoles}{34}{subsection.4.1.20}
\contentsline {subsection}{\numberline {4.1.21}Configuration Files}{34}{subsection.4.1.21}
\contentsline {subsection}{\numberline {4.1.22}Maximum Spawned Jobs}{34}{subsection.4.1.22}
\contentsline {subsection}{\numberline {4.1.23}Progress Meter}{34}{subsection.4.1.23}
\contentsline {subsection}{\numberline {4.1.24}Scheduling a 6th Week}{34}{subsection.4.1.24}
\contentsline {subsection}{\numberline {4.1.25}Scheduling the Last Day of a Month}{34}{subsection.4.1.25}
\contentsline {subsection}{\numberline {4.1.26}Improvements to Cancel and Restart bconsole Commands}{34}{subsection.4.1.26}
\contentsline {subsection}{\numberline {4.1.27}bconsole Performance Improvements}{34}{subsection.4.1.27}
\contentsline {subsection}{\numberline {4.1.28}New .bvfs\_decode\_lstat Command}{35}{subsection.4.1.28}
\contentsline {chapter}{\numberline {5}New Features in 5.2.13}{37}{chapter.5}
\contentsline {subsection}{\numberline {5.0.1}Additions to RunScript variables}{37}{subsection.5.0.1}
\contentsline {section}{\numberline {5.1}New Features in 5.2.1}{37}{section.5.1}
\contentsline {subsection}{\numberline {5.1.1}LZO Compression}{37}{subsection.5.1.1}
\contentsline {subsection}{\numberline {5.1.2}New Tray Monitor}{37}{subsection.5.1.2}
\contentsline {subsection}{\numberline {5.1.3}Purge Migration Job}{39}{subsection.5.1.3}
\contentsline {subsection}{\numberline {5.1.4}Changes in Bvfs (Bacula Virtual FileSystem)}{39}{subsection.5.1.4}
\contentsline {subsection}{\numberline {5.1.5}Changes in the Pruning Algorithm}{42}{subsection.5.1.5}
\contentsline {subsection}{\numberline {5.1.6}Ability to Verify any specified Job}{42}{subsection.5.1.6}
\contentsline {subsection}{\numberline {5.1.7}Additions to RunScript variables}{43}{subsection.5.1.7}
\contentsline {subsection}{\numberline {5.1.8}Additions to the Plugin API}{43}{subsection.5.1.8}
\contentsline {subsubsection}{bfuncs}{43}{section*.29}
\contentsline {subsubsection}{Bacula events}{45}{section*.30}
\contentsline {subsection}{\numberline {5.1.9}ACL enhancements}{45}{subsection.5.1.9}
\contentsline {subsection}{\numberline {5.1.10}XATTR enhancements}{45}{subsection.5.1.10}
\contentsline {subsection}{\numberline {5.1.11}Class Based Database Backend Drivers}{46}{subsection.5.1.11}
\contentsline {subsection}{\numberline {5.1.12}Hash List Enhancements}{47}{subsection.5.1.12}
\contentsline {section}{\numberline {5.2}Release Version 5.0.3}{47}{section.5.2}
\contentsline {section}{\numberline {5.3}Release Version 5.0.2}{47}{section.5.3}
\contentsline {section}{\numberline {5.4}New Features in 5.0.1}{47}{section.5.4}
\contentsline {subsection}{\numberline {5.4.1}Truncate Volume after Purge}{47}{subsection.5.4.1}
\contentsline {subsection}{\numberline {5.4.2}Allow Higher Duplicates}{48}{subsection.5.4.2}
\contentsline {subsection}{\numberline {5.4.3}Cancel Lower Level Duplicates}{48}{subsection.5.4.3}
\contentsline {section}{\numberline {5.5}New Features in 5.0.0}{48}{section.5.5}
\contentsline {subsection}{\numberline {5.5.1}Maximum Concurrent Jobs for Devices}{48}{subsection.5.5.1}
\contentsline {subsection}{\numberline {5.5.2}Restore from Multiple Storage Daemons}{48}{subsection.5.5.2}
\contentsline {subsection}{\numberline {5.5.3}File Deduplication using Base Jobs}{48}{subsection.5.5.3}
\contentsline {subsection}{\numberline {5.5.4}AllowCompression = $<${}yes$|${}no$>${}}{49}{subsection.5.5.4}
\contentsline {subsection}{\numberline {5.5.5}Accurate Fileset Options}{49}{subsection.5.5.5}
\contentsline {subsection}{\numberline {5.5.6}Tab-completion for Bconsole}{50}{subsection.5.5.6}
\contentsline {subsection}{\numberline {5.5.7}Pool File and Job Retention}{50}{subsection.5.5.7}
\contentsline {subsection}{\numberline {5.5.8}Read-only File Daemon using capabilities}{50}{subsection.5.5.8}
\contentsline {subsection}{\numberline {5.5.9}Bvfs API}{50}{subsection.5.5.9}
\contentsline {subsection}{\numberline {5.5.10}Testing your Tape Drive}{51}{subsection.5.5.10}
\contentsline {subsection}{\numberline {5.5.11}New {\bf Block Checksum} Device Directive}{51}{subsection.5.5.11}
\contentsline {subsection}{\numberline {5.5.12}New Bat Features}{51}{subsection.5.5.12}
\contentsline {subsubsection}{Media List View}{51}{section*.31}
\contentsline {subsubsection}{Media Information View}{52}{section*.32}
\contentsline {subsubsection}{Job Information View}{52}{section*.33}
\contentsline {subsubsection}{Autochanger Content View}{52}{section*.34}
\contentsline {subsection}{\numberline {5.5.13}Bat on Windows}{52}{subsection.5.5.13}
\contentsline {subsection}{\numberline {5.5.14}New Win32 Installer}{52}{subsection.5.5.14}
\contentsline {subsection}{\numberline {5.5.15}Win64 Installer}{54}{subsection.5.5.15}
\contentsline {subsection}{\numberline {5.5.16}Linux Bare Metal Recovery USB Key}{54}{subsection.5.5.16}
\contentsline {subsection}{\numberline {5.5.17}bconsole Timeout Option}{54}{subsection.5.5.17}
\contentsline {subsection}{\numberline {5.5.18}Important Changes}{54}{subsection.5.5.18}
\contentsline {subsubsection}{Custom Catalog queries}{55}{section*.36}
\contentsline {subsubsection}{Deprecated parts}{55}{section*.37}
\contentsline {subsection}{\numberline {5.5.19}Misc Changes}{55}{subsection.5.5.19}
\contentsline {chapter}{\numberline {6}Released Version 3.0.3 and 3.0.3a}{57}{chapter.6}
\contentsline {section}{\numberline {6.1}New Features in Released Version 3.0.2}{57}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}Full Restore from a Given JobId}{57}{subsection.6.1.1}
\contentsline {subsection}{\numberline {6.1.2}Source Address}{57}{subsection.6.1.2}
\contentsline {subsection}{\numberline {6.1.3}Show volume availability when doing restore}{58}{subsection.6.1.3}
\contentsline {subsection}{\numberline {6.1.4}Accurate estimate command}{58}{subsection.6.1.4}
\contentsline {section}{\numberline {6.2}New Features in 3.0.0}{58}{section.6.2}
\contentsline {subsection}{\numberline {6.2.1}Accurate Backup}{59}{subsection.6.2.1}
\contentsline {subsubsection}{Accurate = $<${}yes$|${}no$>${}}{59}{section*.38}
\contentsline {subsection}{\numberline {6.2.2}Copy Jobs}{59}{subsection.6.2.2}
\contentsline {subsection}{\numberline {6.2.3}ACL Updates}{61}{subsection.6.2.3}
\contentsline {subsection}{\numberline {6.2.4}Extended Attributes}{62}{subsection.6.2.4}
\contentsline {subsection}{\numberline {6.2.5}Shared objects}{63}{subsection.6.2.5}
\contentsline {subsection}{\numberline {6.2.6}Building Static versions of Bacula}{63}{subsection.6.2.6}
\contentsline {subsection}{\numberline {6.2.7}Virtual Backup (Vbackup)}{63}{subsection.6.2.7}
\contentsline {subsection}{\numberline {6.2.8}Catalog Format}{65}{subsection.6.2.8}
\contentsline {subsection}{\numberline {6.2.9}64 bit Windows Client}{65}{subsection.6.2.9}
\contentsline {subsection}{\numberline {6.2.10}Duplicate Job Control}{66}{subsection.6.2.10}
\contentsline {subsubsection}{Allow Duplicate Jobs = $<${}yes$|${}no$>${}}{66}{section*.39}
\contentsline {subsubsection}{Allow Higher Duplicates = $<${}yes$|${}no$>${}}{66}{section*.40}
\contentsline {subsubsection}{Cancel Running Duplicates = $<${}yes$|${}no$>${}}{66}{section*.41}
\contentsline {subsubsection}{Cancel Queued Duplicates = $<${}yes$|${}no$>${}}{66}{section*.42}
\contentsline {subsection}{\numberline {6.2.11}TLS Authentication}{66}{subsection.6.2.11}
\contentsline {subsubsection}{TLS Authenticate = yes}{66}{section*.43}
\contentsline {subsection}{\numberline {6.2.12}bextract non-portable Win32 data}{67}{subsection.6.2.12}
\contentsline {subsection}{\numberline {6.2.13}State File updated at Job Termination}{67}{subsection.6.2.13}
\contentsline {subsection}{\numberline {6.2.14}MaxFullInterval = $<${}time-interval$>${}}{67}{subsection.6.2.14}
\contentsline {subsection}{\numberline {6.2.15}MaxDiffInterval = $<${}time-interval$>${}}{67}{subsection.6.2.15}
\contentsline {subsection}{\numberline {6.2.16}Honor No Dump Flag = $<${}yes$|${}no$>${}}{67}{subsection.6.2.16}
\contentsline {subsection}{\numberline {6.2.17}Exclude Dir Containing = $<${}filename-string$>${}}{67}{subsection.6.2.17}
\contentsline {subsection}{\numberline {6.2.18}Bacula Plugins}{68}{subsection.6.2.18}
\contentsline {subsubsection}{Plugin Directory}{68}{section*.44}
\contentsline {subsubsection}{Plugin Options}{68}{section*.45}
\contentsline {subsubsection}{Plugin Options ACL}{68}{section*.46}
\contentsline {subsubsection}{Plugin = $<${}plugin-command-string$>${}}{68}{section*.47}
\contentsline {subsection}{\numberline {6.2.19}The bpipe Plugin}{69}{subsection.6.2.19}
\contentsline {subsection}{\numberline {6.2.20}Microsoft Exchange Server 2003/2007 Plugin}{69}{subsection.6.2.20}
\contentsline {subsubsection}{Background}{69}{section*.48}
\contentsline {subsubsection}{Concepts}{70}{section*.49}
\contentsline {subsubsection}{Installing}{70}{section*.50}
\contentsline {subsubsection}{Backing Up}{70}{section*.51}
\contentsline {subsubsection}{Restoring}{71}{section*.52}
\contentsline {subsubsection}{Restoring to the Recovery Storage Group}{71}{section*.53}
\contentsline {subsubsection}{Restoring on Microsoft Server 2007}{71}{section*.54}
\contentsline {subsubsection}{Caveats}{71}{section*.55}
\contentsline {subsection}{\numberline {6.2.21}libdbi Framework}{72}{subsection.6.2.21}
\contentsline {subsection}{\numberline {6.2.22}Console Command Additions and Enhancements}{73}{subsection.6.2.22}
\contentsline {subsubsection}{Display Autochanger Content}{73}{section*.56}
\contentsline {subsubsection}{list joblog job=xxx or jobid=nnn}{73}{section*.57}
\contentsline {subsubsection}{Use separator for multiple commands}{73}{section*.58}
\contentsline {subsubsection}{Deleting Volumes}{73}{section*.59}
\contentsline {subsection}{\numberline {6.2.23}Bare Metal Recovery}{73}{subsection.6.2.23}
\contentsline {subsection}{\numberline {6.2.24}Miscellaneous}{74}{subsection.6.2.24}
\contentsline {subsubsection}{Allow Mixed Priority = $<${}yes$|${}no$>${}}{74}{section*.60}
\contentsline {subsubsection}{Bootstrap File Directive -- FileRegex}{74}{section*.61}
\contentsline {subsubsection}{Bootstrap File Optimization Changes}{74}{section*.62}
\contentsline {subsubsection}{Solaris ZFS/NFSv4 ACLs}{74}{section*.63}
\contentsline {subsubsection}{Virtual Tape Emulation}{75}{section*.64}
\contentsline {subsubsection}{Bat Enhancements}{75}{section*.65}
\contentsline {subsubsection}{RunScript Enhancements}{75}{section*.66}
\contentsline {subsubsection}{Status Enhancements}{75}{section*.67}
\contentsline {subsubsection}{Connect Timeout}{75}{section*.68}
\contentsline {subsubsection}{ftruncate for NFS Volumes}{75}{section*.69}
\contentsline {subsubsection}{Support for Ubuntu}{75}{section*.70}
\contentsline {subsubsection}{Recycle Pool = $<${}pool-name$>${}}{76}{section*.71}
\contentsline {subsubsection}{FD Version}{76}{section*.72}
\contentsline {subsubsection}{Max Run Sched Time = $<${}time-period-in-seconds$>${}}{76}{section*.73}
\contentsline {subsubsection}{Max Wait Time = $<${}time-period-in-seconds$>${}}{76}{section*.74}
\contentsline {subsubsection}{Incremental|Differential Max Wait Time = $<${}time-period-in-seconds$>${}}{76}{section*.75}
\contentsline {subsubsection}{Max Run Time directives}{76}{section*.76}
\contentsline {subsubsection}{Statistics Enhancements}{76}{section*.77}
\contentsline {subsubsection}{ScratchPool = $<${}pool-resource-name$>${}}{77}{section*.78}
\contentsline {subsubsection}{Enhanced Attribute Despooling}{77}{section*.79}
\contentsline {subsubsection}{SpoolSize = $<${}size-specification-in-bytes$>${}}{77}{section*.80}
\contentsline {subsubsection}{MaximumConsoleConnections = $<${}number$>${}}{77}{section*.81}
\contentsline {subsubsection}{VerId = $<${}string$>${}}{77}{section*.82}
\contentsline {subsubsection}{dbcheck enhancements}{78}{section*.83}
\contentsline {subsubsection}{{-}{-}docdir configure option}{78}{section*.84}
\contentsline {subsubsection}{{-}{-}htmldir configure option}{78}{section*.85}
\contentsline {subsubsection}{{-}{-}with-plugindir configure option}{78}{section*.86}
\contentsline {chapter}{\numberline {7}The Current State of Bacula}{79}{chapter.7}
\contentsline {section}{\numberline {7.1}What is Implemented}{79}{section.7.1}
\contentsline {section}{\numberline {7.2}Advantages Over Other Backup Programs}{81}{section.7.2}
\contentsline {section}{\numberline {7.3}Current Implementation Restrictions}{81}{section.7.3}
\contentsline {section}{\numberline {7.4}Design Limitations or Restrictions}{82}{section.7.4}
\contentsline {section}{\numberline {7.5}Items to Note}{82}{section.7.5}
\contentsline {chapter}{\numberline {8}System Requirements}{83}{chapter.8}
\contentsline {chapter}{\numberline {9}Supported Operating Systems}{85}{chapter.9}
\contentsline {chapter}{\numberline {10}Supported Tape Drives}{87}{chapter.10}
\contentsline {section}{\numberline {10.1}Unsupported Tape Drives}{88}{section.10.1}
\contentsline {section}{\numberline {10.2}FreeBSD Users Be Aware!!!}{88}{section.10.2}
\contentsline {section}{\numberline {10.3}Supported Autochangers}{88}{section.10.3}
\contentsline {section}{\numberline {10.4}Tape Specifications}{88}{section.10.4}
\contentsline {chapter}{\numberline {11}Getting Started with Bacula}{91}{chapter.11}
\contentsline {section}{\numberline {11.1}Understanding Jobs and Schedules}{91}{section.11.1}
\contentsline {section}{\numberline {11.2}Understanding Pools, Volumes and Labels}{91}{section.11.2}
\contentsline {section}{\numberline {11.3}Setting Up Bacula Configuration Files}{92}{section.11.3}
\contentsline {subsection}{\numberline {11.3.1}Configuring the Console Program}{92}{subsection.11.3.1}
\contentsline {subsection}{\numberline {11.3.2}Configuring the Monitor Program}{92}{subsection.11.3.2}
\contentsline {subsection}{\numberline {11.3.3}Configuring the File daemon}{93}{subsection.11.3.3}
\contentsline {subsection}{\numberline {11.3.4}Configuring the Director}{93}{subsection.11.3.4}
\contentsline {subsection}{\numberline {11.3.5}Configuring the Storage daemon}{94}{subsection.11.3.5}
\contentsline {section}{\numberline {11.4}Testing your Configuration Files}{94}{section.11.4}
\contentsline {section}{\numberline {11.5}Testing Compatibility with Your Tape Drive}{94}{section.11.5}
\contentsline {section}{\numberline {11.6}Get Rid of the /lib/tls Directory}{94}{section.11.6}
\contentsline {section}{\numberline {11.7}Running Bacula}{95}{section.11.7}
\contentsline {section}{\numberline {11.8}Log Rotation}{95}{section.11.8}
\contentsline {section}{\numberline {11.9}Log Watch}{95}{section.11.9}
\contentsline {section}{\numberline {11.10}Disaster Recovery}{95}{section.11.10}
\contentsline {chapter}{\numberline {12}Installing Bacula}{97}{chapter.12}
\contentsline {section}{\numberline {12.1}Source Release Files}{97}{section.12.1}
\contentsline {section}{\numberline {12.2}Upgrading Bacula}{97}{section.12.2}
\contentsline {section}{\numberline {12.3}Releases Numbering}{98}{section.12.3}
\contentsline {section}{\numberline {12.4}Dependency Packages}{99}{section.12.4}
\contentsline {section}{\numberline {12.5}Supported Operating Systems}{100}{section.12.5}
\contentsline {section}{\numberline {12.6}Building Bacula from Source}{100}{section.12.6}
\contentsline {section}{\numberline {12.7}What Database to Use?}{103}{section.12.7}
\contentsline {section}{\numberline {12.8}Quick Start}{103}{section.12.8}
\contentsline {section}{\numberline {12.9}Configure Options}{103}{section.12.9}
\contentsline {section}{\numberline {12.10}Recommended Options for Most Systems}{109}{section.12.10}
\contentsline {section}{\numberline {12.11}Red Hat}{109}{section.12.11}
\contentsline {section}{\numberline {12.12}Solaris}{110}{section.12.12}
\contentsline {section}{\numberline {12.13}FreeBSD}{111}{section.12.13}
\contentsline {section}{\numberline {12.14}Win32}{111}{section.12.14}
\contentsline {section}{\numberline {12.15}One File Configure Script}{111}{section.12.15}
\contentsline {section}{\numberline {12.16}Installing Bacula}{111}{section.12.16}
\contentsline {section}{\numberline {12.17}Building a File Daemon or Client}{111}{section.12.17}
\contentsline {section}{\numberline {12.18}Auto Starting the Daemons}{112}{section.12.18}
\contentsline {section}{\numberline {12.19}Other Make Notes}{112}{section.12.19}
\contentsline {section}{\numberline {12.20}Modifying the Bacula Configuration Files}{113}{section.12.20}
\contentsline {chapter}{\numberline {13}Critical Items to Implement Before Production}{115}{chapter.13}
\contentsline {section}{\numberline {13.1}Critical Items}{115}{section.13.1}
\contentsline {section}{\numberline {13.2}Recommended Items}{116}{section.13.2}
\contentsline {chapter}{\numberline {14}A Brief Tutorial}{117}{chapter.14}
\contentsline {section}{\numberline {14.1}Before Running Bacula}{117}{section.14.1}
\contentsline {section}{\numberline {14.2}Starting the Database}{117}{section.14.2}
\contentsline {section}{\numberline {14.3}Starting the Daemons}{118}{section.14.3}
\contentsline {section}{\numberline {14.4}Using the Director to Query and Start Jobs}{118}{section.14.4}
\contentsline {section}{\numberline {14.5}Running a Job}{119}{section.14.5}
\contentsline {section}{\numberline {14.6}Restoring Your Files}{123}{section.14.6}
\contentsline {section}{\numberline {14.7}Quitting the Console Program}{124}{section.14.7}
\contentsline {section}{\numberline {14.8}Adding a Second Client}{124}{section.14.8}
\contentsline {section}{\numberline {14.9}When The Tape Fills}{126}{section.14.9}
\contentsline {section}{\numberline {14.10}Other Useful Console Commands}{127}{section.14.10}
\contentsline {section}{\numberline {14.11}Debug Daemon Output}{127}{section.14.11}
\contentsline {section}{\numberline {14.12}Patience When Starting Daemons or Mounting Blank Tapes}{128}{section.14.12}
\contentsline {section}{\numberline {14.13}Difficulties Connecting from the FD to the SD}{128}{section.14.13}
\contentsline {section}{\numberline {14.14}Daemon Command Line Options}{128}{section.14.14}
\contentsline {section}{\numberline {14.15}Creating a Pool}{129}{section.14.15}
\contentsline {section}{\numberline {14.16}Labeling Your Volumes}{129}{section.14.16}
\contentsline {section}{\numberline {14.17}Labeling Volumes with the Console Program}{129}{section.14.17}
\contentsline {chapter}{\numberline {15}Customizing the Configuration Files}{131}{chapter.15}
\contentsline {section}{\numberline {15.1}Character Sets}{132}{section.15.1}
\contentsline {section}{\numberline {15.2}Resource Directive Format}{132}{section.15.2}
\contentsline {subsection}{\numberline {15.2.1}Comments}{132}{subsection.15.2.1}
\contentsline {subsection}{\numberline {15.2.2}Upper and Lower Case and Spaces}{132}{subsection.15.2.2}
\contentsline {subsection}{\numberline {15.2.3}Including other Configuration Files}{133}{subsection.15.2.3}
\contentsline {subsection}{\numberline {15.2.4}Recognized Primitive Data Types}{133}{subsection.15.2.4}
\contentsline {section}{\numberline {15.3}Resource Types}{134}{section.15.3}
\contentsline {section}{\numberline {15.4}Names, Passwords and Authorization}{134}{section.15.4}
\contentsline {section}{\numberline {15.5}Detailed Information for each Daemon}{135}{section.15.5}
\contentsline {chapter}{\numberline {16}Configuring the Director}{137}{chapter.16}
\contentsline {section}{\numberline {16.1}Director Resource Types}{137}{section.16.1}
\contentsline {section}{\numberline {16.2}The Director Resource}{138}{section.16.2}
\contentsline {section}{\numberline {16.3}The Job Resource}{140}{section.16.3}
\contentsline {section}{\numberline {16.4}The JobDefs Resource}{156}{section.16.4}
\contentsline {section}{\numberline {16.5}The Schedule Resource}{156}{section.16.5}
\contentsline {section}{\numberline {16.6}Technical Notes on Schedules}{158}{section.16.6}
\contentsline {section}{\numberline {16.7}The FileSet Resource}{158}{section.16.7}
\contentsline {section}{\numberline {16.8}FileSet Examples}{170}{section.16.8}
\contentsline {section}{\numberline {16.9}Backing up Raw Partitions}{174}{section.16.9}
\contentsline {section}{\numberline {16.10}Excluding Files and Directories}{174}{section.16.10}
\contentsline {section}{\numberline {16.11}Windows FileSets}{174}{section.16.11}
\contentsline {section}{\numberline {16.12}Testing Your FileSet}{176}{section.16.12}
\contentsline {section}{\numberline {16.13}The Client Resource}{177}{section.16.13}
\contentsline {section}{\numberline {16.14}The Storage Resource}{178}{section.16.14}
\contentsline {section}{\numberline {16.15}The Pool Resource}{180}{section.16.15}
\contentsline {subsection}{\numberline {16.15.1}The Scratch Pool}{186}{subsection.16.15.1}
\contentsline {section}{\numberline {16.16}The Catalog Resource}{186}{section.16.16}
\contentsline {section}{\numberline {16.17}The Messages Resource}{187}{section.16.17}
\contentsline {section}{\numberline {16.18}The Console Resource}{187}{section.16.18}
\contentsline {section}{\numberline {16.19}The Counter Resource}{188}{section.16.19}
\contentsline {section}{\numberline {16.20}Example Director Configuration File}{189}{section.16.20}
\contentsline {chapter}{\numberline {17}Client/File daemon Configuration}{193}{chapter.17}
\contentsline {section}{\numberline {17.1}The Client Resource}{193}{section.17.1}
\contentsline {section}{\numberline {17.2}The Director Resource}{195}{section.17.2}
\contentsline {section}{\numberline {17.3}The Message Resource}{196}{section.17.3}
\contentsline {section}{\numberline {17.4}Example Client Configuration File}{196}{section.17.4}
\contentsline {chapter}{\numberline {18}Storage Daemon Configuration}{197}{chapter.18}
\contentsline {section}{\numberline {18.1}Storage Resource}{197}{section.18.1}
\contentsline {section}{\numberline {18.2}Director Resource}{199}{section.18.2}
\contentsline {section}{\numberline {18.3}Device Resource}{199}{section.18.3}
\contentsline {section}{\numberline {18.4}Edit Codes for Mount and Unmount Directives}{206}{section.18.4}
\contentsline {section}{\numberline {18.5}Devices that require a mount (USB)}{206}{section.18.5}
\contentsline {chapter}{\numberline {19}Autochanger Resource}{209}{chapter.19}
\contentsline {section}{\numberline {19.1}Capabilities}{210}{section.19.1}
\contentsline {section}{\numberline {19.2}Messages Resource}{210}{section.19.2}
\contentsline {section}{\numberline {19.3}Sample Storage Daemon Configuration File}{210}{section.19.3}
\contentsline {chapter}{\numberline {20}Messages Resource}{213}{chapter.20}
\contentsline {chapter}{\numberline {21}Console Configuration}{217}{chapter.21}
\contentsline {section}{\numberline {21.1}General}{217}{section.21.1}
\contentsline {section}{\numberline {21.2}The Director Resource}{217}{section.21.2}
\contentsline {section}{\numberline {21.3}The ConsoleFont Resource}{217}{section.21.3}
\contentsline {section}{\numberline {21.4}The Console Resource}{218}{section.21.4}
\contentsline {section}{\numberline {21.5}Console Commands}{220}{section.21.5}
\contentsline {section}{\numberline {21.6}Sample Console Configuration File}{220}{section.21.6}
\contentsline {chapter}{\numberline {22}Monitor Configuration}{221}{chapter.22}
\contentsline {section}{\numberline {22.1}The Monitor Resource}{221}{section.22.1}
\contentsline {section}{\numberline {22.2}The Director Resource}{221}{section.22.2}
\contentsline {section}{\numberline {22.3}The Client Resource}{222}{section.22.3}
\contentsline {section}{\numberline {22.4}The Storage Resource}{222}{section.22.4}
\contentsline {section}{\numberline {22.5}Tray Monitor Security}{223}{section.22.5}
\contentsline {section}{\numberline {22.6}Sample Tray Monitor configuration}{223}{section.22.6}
\contentsline {subsection}{\numberline {22.6.1}Sample File daemon's Director record.}{223}{subsection.22.6.1}
\contentsline {subsection}{\numberline {22.6.2}Sample Storage daemon's Director record.}{223}{subsection.22.6.2}
\contentsline {subsection}{\numberline {22.6.3}Sample Director's Console record.}{224}{subsection.22.6.3}
\contentsline {chapter}{\numberline {23}The Restore Command}{225}{chapter.23}
\contentsline {section}{\numberline {23.1}General}{225}{section.23.1}
\contentsline {section}{\numberline {23.2}The Restore Command}{225}{section.23.2}
\contentsline {subsection}{\numberline {23.2.1}Restore a pruned job using a pattern}{229}{subsection.23.2.1}
\contentsline {section}{\numberline {23.3}Selecting Files by Filename}{230}{section.23.3}
\contentsline {section}{\numberline {23.4}Replace Options}{231}{section.23.4}
\contentsline {section}{\numberline {23.5}Command Line Arguments}{231}{section.23.5}
\contentsline {section}{\numberline {23.6}Using File Relocation}{232}{section.23.6}
\contentsline {subsection}{\numberline {23.6.1}Introduction}{232}{subsection.23.6.1}
\contentsline {subsection}{\numberline {23.6.2}RegexWhere Format}{232}{subsection.23.6.2}
\contentsline {section}{\numberline {23.7}Restoring Directory Attributes}{233}{section.23.7}
\contentsline {section}{\numberline {23.8}Restoring on Windows}{233}{section.23.8}
\contentsline {section}{\numberline {23.9}Restoring Files Can Be Slow}{233}{section.23.9}
\contentsline {section}{\numberline {23.10}Problems Restoring Files}{234}{section.23.10}
\contentsline {section}{\numberline {23.11}Restore Errors}{234}{section.23.11}
\contentsline {section}{\numberline {23.12}Example Restore Job Resource}{235}{section.23.12}
\contentsline {section}{\numberline {23.13}File Selection Commands}{235}{section.23.13}
\contentsline {section}{\numberline {23.14}Restoring When Things Go Wrong}{236}{section.23.14}
\contentsline {chapter}{\numberline {24}Automatic Volume Recycling}{241}{chapter.24}
\contentsline {section}{\numberline {24.1}Automatic Pruning}{242}{section.24.1}
\contentsline {section}{\numberline {24.2}Pruning Directives}{242}{section.24.2}
\contentsline {section}{\numberline {24.3}Recycling Algorithm}{243}{section.24.3}
\contentsline {section}{\numberline {24.4}Recycle Status}{245}{section.24.4}
\contentsline {section}{\numberline {24.5}Making Bacula Use a Single Tape}{245}{section.24.5}
\contentsline {section}{\numberline {24.6}Daily, Weekly, Monthly Tape Usage Example}{246}{section.24.6}
\contentsline {section}{\numberline {24.7} Automatic Pruning and Recycling Example}{247}{section.24.7}
\contentsline {section}{\numberline {24.8}Manually Recycling Volumes}{248}{section.24.8}
\contentsline {chapter}{\numberline {25}Basic Volume Management}{251}{chapter.25}
\contentsline {section}{\numberline {25.1}Key Concepts and Resource Records}{251}{section.25.1}
\contentsline {subsection}{\numberline {25.1.1}Pool Options to Limit the Volume Usage}{252}{subsection.25.1.1}
\contentsline {subsection}{\numberline {25.1.2}Automatic Volume Labeling}{252}{subsection.25.1.2}
\contentsline {subsection}{\numberline {25.1.3}Restricting the Number of Volumes and Recycling}{253}{subsection.25.1.3}
\contentsline {section}{\numberline {25.2}Concurrent Disk Jobs}{254}{section.25.2}
\contentsline {section}{\numberline {25.3}An Example}{254}{section.25.3}
\contentsline {section}{\numberline {25.4}Backing up to Multiple Disks}{257}{section.25.4}
\contentsline {section}{\numberline {25.5}Considerations for Multiple Clients}{258}{section.25.5}
\contentsline {chapter}{\numberline {26}Automated Disk Backup}{261}{chapter.26}
\contentsline {section}{\numberline {26.1}The Problem}{261}{section.26.1}
\contentsline {section}{\numberline {26.2}The Solution}{261}{section.26.2}
\contentsline {section}{\numberline {26.3}Overall Design}{261}{section.26.3}
\contentsline {subsection}{\numberline {26.3.1}Full Pool}{262}{subsection.26.3.1}
\contentsline {subsection}{\numberline {26.3.2}Differential Pool}{262}{subsection.26.3.2}
\contentsline {subsection}{\numberline {26.3.3}Incremental Pool}{263}{subsection.26.3.3}
\contentsline {section}{\numberline {26.4}The Actual Conf Files}{263}{section.26.4}
\contentsline {chapter}{\numberline {27}Migration and Copy}{267}{chapter.27}
\contentsline {section}{\numberline {27.1}Migration and Copy Job Resource Directives}{268}{section.27.1}
\contentsline {section}{\numberline {27.2}Migration Pool Resource Directives}{269}{section.27.2}
\contentsline {section}{\numberline {27.3}Important Migration Considerations}{270}{section.27.3}
\contentsline {section}{\numberline {27.4}Example Migration Jobs}{271}{section.27.4}
\contentsline {chapter}{\numberline {28}File Deduplication using Base Jobs}{273}{chapter.28}
\contentsline {chapter}{\numberline {29}Backup Strategies}{275}{chapter.29}
\contentsline {section}{\numberline {29.1}Simple One Tape Backup}{275}{section.29.1}
\contentsline {subsection}{\numberline {29.1.1}Advantages}{275}{subsection.29.1.1}
\contentsline {subsection}{\numberline {29.1.2}Disadvantages}{275}{subsection.29.1.2}
\contentsline {subsection}{\numberline {29.1.3}Practical Details}{275}{subsection.29.1.3}
\contentsline {section}{\numberline {29.2}Manually Changing Tapes}{275}{section.29.2}
\contentsline {section}{\numberline {29.3}Daily Tape Rotation}{276}{section.29.3}
\contentsline {subsection}{\numberline {29.3.1}Advantages}{276}{subsection.29.3.1}
\contentsline {subsection}{\numberline {29.3.2}Disadvantages}{276}{subsection.29.3.2}
\contentsline {subsection}{\numberline {29.3.3}Practical Details}{277}{subsection.29.3.3}
\contentsline {chapter}{\numberline {30}Autochanger Support}{281}{chapter.30}
\contentsline {section}{\numberline {30.1}Knowing What SCSI Devices You Have}{282}{section.30.1}
\contentsline {section}{\numberline {30.2}Example Scripts}{282}{section.30.2}
\contentsline {section}{\numberline {30.3}Slots}{283}{section.30.3}
\contentsline {section}{\numberline {30.4}Multiple Devices}{283}{section.30.4}
\contentsline {section}{\numberline {30.5}Device Configuration Records}{283}{section.30.5}
\contentsline {chapter}{\numberline {31}Autochanger Resource}{285}{chapter.31}
\contentsline {section}{\numberline {31.1}An Example Configuration File}{286}{section.31.1}
\contentsline {section}{\numberline {31.2}A Multi-drive Example Configuration File}{286}{section.31.2}
\contentsline {section}{\numberline {31.3}Specifying Slots When Labeling}{287}{section.31.3}
\contentsline {section}{\numberline {31.4}Changing Cartridges}{287}{section.31.4}
\contentsline {section}{\numberline {31.5}Dealing with Multiple Magazines}{287}{section.31.5}
\contentsline {section}{\numberline {31.6}Simulating Barcodes in your Autochanger}{288}{section.31.6}
\contentsline {section}{\numberline {31.7}The Full Form of the Update Slots Command}{288}{section.31.7}
\contentsline {section}{\numberline {31.8}FreeBSD Issues}{289}{section.31.8}
\contentsline {section}{\numberline {31.9}Testing Autochanger and Adapting mtx-changer script}{289}{section.31.9}
\contentsline {section}{\numberline {31.10}Using the Autochanger}{290}{section.31.10}
\contentsline {section}{\numberline {31.11}Barcode Support}{291}{section.31.11}
\contentsline {section}{\numberline {31.12}Use bconsole to display Autochanger content}{292}{section.31.12}
\contentsline {section}{\numberline {31.13}Bacula Autochanger Interface}{292}{section.31.13}
\contentsline {chapter}{\numberline {32}Supported Autochangers}{293}{chapter.32}
\contentsline {chapter}{\numberline {33}Data Spooling}{295}{chapter.33}
\contentsline {section}{\numberline {33.1}Data Spooling Directives}{295}{section.33.1}
\contentsline {section}{\numberline {33.2}!!! MAJOR WARNING !!!}{296}{section.33.2}
\contentsline {section}{\numberline {33.3}Other Points}{296}{section.33.3}
\contentsline {chapter}{\numberline {34}Using Bacula catalog to grab information}{297}{chapter.34}
\contentsline {section}{\numberline {34.1}Job statistics}{297}{section.34.1}
\contentsline {chapter}{\numberline {35}ANSI and IBM Tape Labels}{299}{chapter.35}
\contentsline {section}{\numberline {35.1}Director Pool Directive}{299}{section.35.1}
\contentsline {section}{\numberline {35.2}Storage Daemon Device Directives}{299}{section.35.2}
\contentsline {chapter}{\numberline {36}The Windows Version of Bacula}{301}{chapter.36}
\contentsline {section}{\numberline {36.1}Windows Installation}{301}{section.36.1}
\contentsline {section}{\numberline {36.2}Post Windows Installation}{305}{section.36.2}
\contentsline {section}{\numberline {36.3}Uninstalling Bacula on Windows}{305}{section.36.3}
\contentsline {section}{\numberline {36.4}Dealing with Windows Problems}{305}{section.36.4}
\contentsline {section}{\numberline {36.5}Windows Compatibility Considerations}{307}{section.36.5}
\contentsline {section}{\numberline {36.6}Volume Shadow Copy Service}{308}{section.36.6}
\contentsline {section}{\numberline {36.7}VSS Problems}{309}{section.36.7}
\contentsline {section}{\numberline {36.8}Windows Firewalls}{309}{section.36.8}
\contentsline {section}{\numberline {36.9}Windows Port Usage}{309}{section.36.9}
\contentsline {section}{\numberline {36.10}Windows Disaster Recovery}{309}{section.36.10}
\contentsline {section}{\numberline {36.11}Windows Restore Problems}{310}{section.36.11}
\contentsline {section}{\numberline {36.12}Windows Ownership and Permissions Problems}{310}{section.36.12}
\contentsline {section}{\numberline {36.13}Manually resetting the Permissions}{310}{section.36.13}
\contentsline {section}{\numberline {36.14}Backing Up the Windows System State}{312}{section.36.14}
\contentsline {section}{\numberline {36.15}Fixing the Windows Boot Record}{313}{section.36.15}
\contentsline {section}{\numberline {36.16}Considerations for Filename Specifications}{313}{section.36.16}
\contentsline {section}{\numberline {36.17}Windows Specific File daemon Command Line}{313}{section.36.17}
\contentsline {section}{\numberline {36.18}Shutting down Windows Systems}{314}{section.36.18}
\contentsline {chapter}{\numberline {37}Disaster Recovery Using Bacula}{315}{chapter.37}
\contentsline {section}{\numberline {37.1}General}{315}{section.37.1}
\contentsline {section}{\numberline {37.2}Important Considerations}{315}{section.37.2}
\contentsline {section}{\numberline {37.3}Steps to Take Before Disaster Strikes}{315}{section.37.3}
\contentsline {section}{\numberline {37.4}Bare Metal Recovery on Linux with a Rescue CD}{316}{section.37.4}
\contentsline {section}{\numberline {37.5}Requirements}{316}{section.37.5}
\contentsline {section}{\numberline {37.6}Restoring a Client System}{316}{section.37.6}
\contentsline {section}{\numberline {37.7}Boot with your Rescue CDROM}{317}{section.37.7}
\contentsline {section}{\numberline {37.8}Restoring a Server}{318}{section.37.8}
\contentsline {section}{\numberline {37.9}Linux Problems or Bugs}{319}{section.37.9}
\contentsline {section}{\numberline {37.10}Bare Metal Recovery using a LiveCD}{319}{section.37.10}
\contentsline {section}{\numberline {37.11}FreeBSD Bare Metal Recovery}{320}{section.37.11}
\contentsline {section}{\numberline {37.12}Solaris Bare Metal Recovery}{321}{section.37.12}
\contentsline {section}{\numberline {37.13}Preparing Solaris Before a Disaster}{321}{section.37.13}
\contentsline {section}{\numberline {37.14}Bugs and Other Considerations}{321}{section.37.14}
\contentsline {section}{\numberline {37.15}Disaster Recovery of Win32 Systems}{322}{section.37.15}
\contentsline {section}{\numberline {37.16}Ownership and Permissions on Win32 Systems}{322}{section.37.16}
\contentsline {section}{\numberline {37.17}Alternate Disaster Recovery Suggestion for Win32 Systems}{322}{section.37.17}
\contentsline {section}{\numberline {37.18}Restoring to a Running System}{323}{section.37.18}
\contentsline {section}{\numberline {37.19}Additional Resources}{323}{section.37.19}
\contentsline {chapter}{\numberline {38}Bacula TLS -- Communications Encryption}{325}{chapter.38}
\contentsline {section}{\numberline {38.1}TLS Configuration Directives}{325}{section.38.1}
\contentsline {section}{\numberline {38.2}Creating a Self-signed Certificate}{326}{section.38.2}
\contentsline {section}{\numberline {38.3}Getting a CA Signed Certificate}{326}{section.38.3}
\contentsline {section}{\numberline {38.4}Example TLS Configuration Files}{327}{section.38.4}
\contentsline {chapter}{\numberline {39}Data Encryption}{329}{chapter.39}
\contentsline {section}{\numberline {39.1}Building Bacula with Encryption Support}{329}{section.39.1}
\contentsline {section}{\numberline {39.2}Encryption Technical Details}{330}{section.39.2}
\contentsline {section}{\numberline {39.3}Decrypting with a Master Key}{330}{section.39.3}
\contentsline {section}{\numberline {39.4}Generating Private/Public Encryption Keys}{330}{section.39.4}
\contentsline {section}{\numberline {39.5}Example Data Encryption Configuration}{331}{section.39.5}
\contentsline {chapter}{\numberline {40}Using Bacula to Improve Computer Security}{333}{chapter.40}
\contentsline {section}{\numberline {40.1}The Details}{333}{section.40.1}
\contentsline {section}{\numberline {40.2}Running the Verify}{334}{section.40.2}
\contentsline {section}{\numberline {40.3}What To Do When Differences Are Found}{335}{section.40.3}
\contentsline {section}{\numberline {40.4}A Verify Configuration Example}{336}{section.40.4}
\contentsline {chapter}{\numberline {41}Installing and Configuring MySQL}{339}{chapter.41}
\contentsline {section}{\numberline {41.1}Installing and Configuring MySQL -- Phase I}{339}{section.41.1}
\contentsline {section}{\numberline {41.2}Installing and Configuring MySQL -- Phase II}{340}{section.41.2}
\contentsline {section}{\numberline {41.3}Re-initializing the Catalog Database}{341}{section.41.3}
\contentsline {section}{\numberline {41.4}Linking Bacula with MySQL}{341}{section.41.4}
\contentsline {section}{\numberline {41.5}Installing MySQL from RPMs}{342}{section.41.5}
\contentsline {section}{\numberline {41.6}Upgrading MySQL}{342}{section.41.6}
\contentsline {chapter}{\numberline {42}Installing and Configuring PostgreSQL}{343}{chapter.42}
\contentsline {section}{\numberline {42.1}Installing PostgreSQL}{343}{section.42.1}
\contentsline {section}{\numberline {42.2}Configuring PostgreSQL}{343}{section.42.2}
\contentsline {section}{\numberline {42.3}Re-initializing the Catalog Database}{346}{section.42.3}
\contentsline {section}{\numberline {42.4}Installing PostgreSQL from RPMs}{346}{section.42.4}
\contentsline {section}{\numberline {42.5}Converting from MySQL to PostgreSQL}{346}{section.42.5}
\contentsline {section}{\numberline {42.6}Upgrading PostgreSQL}{348}{section.42.6}
\contentsline {section}{\numberline {42.7}Tuning PostgreSQL}{348}{section.42.7}
\contentsline {section}{\numberline {42.8}Credits}{348}{section.42.8}
\contentsline {chapter}{\numberline {43}Installing and Configuring SQLite}{349}{chapter.43}
\contentsline {section}{\numberline {43.1}Installing and Configuring SQLite -- Phase I}{349}{section.43.1}
\contentsline {section}{\numberline {43.2}Installing and Configuring SQLite -- Phase II}{350}{section.43.2}
\contentsline {section}{\numberline {43.3}Linking Bacula with SQLite}{350}{section.43.3}
\contentsline {section}{\numberline {43.4}Testing SQLite}{350}{section.43.4}
\contentsline {section}{\numberline {43.5}Re-initializing the Catalog Database}{350}{section.43.5}
\contentsline {chapter}{\numberline {44}Catalog Maintenance}{351}{chapter.44}
\contentsline {section}{\numberline {44.1}Setting Retention Periods}{351}{section.44.1}
\contentsline {section}{\numberline {44.2}Compacting Your MySQL Database}{352}{section.44.2}
\contentsline {section}{\numberline {44.3}Repairing Your MySQL Database}{352}{section.44.3}
\contentsline {section}{\numberline {44.4}MySQL Table is Full}{353}{section.44.4}
\contentsline {section}{\numberline {44.5}MySQL Server Has Gone Away}{353}{section.44.5}
\contentsline {section}{\numberline {44.6}MySQL Temporary Tables}{353}{section.44.6}
\contentsline {section}{\numberline {44.7}Repairing Your PostgreSQL Database}{354}{section.44.7}
\contentsline {section}{\numberline {44.8}Database Performance Issues}{354}{section.44.8}
\contentsline {section}{\numberline {44.9}Performance Issues Indexes}{354}{section.44.9}
\contentsline {subsection}{\numberline {44.9.1}PostgreSQL Indexes}{354}{subsection.44.9.1}
\contentsline {subsection}{\numberline {44.9.2}MySQL Indexes}{355}{subsection.44.9.2}
\contentsline {subsection}{\numberline {44.9.3}SQLite Indexes}{355}{subsection.44.9.3}
\contentsline {section}{\numberline {44.10}Compacting Your PostgreSQL Database}{355}{section.44.10}
\contentsline {section}{\numberline {44.11}Compacting Your SQLite Database}{356}{section.44.11}
\contentsline {section}{\numberline {44.12}Migrating from SQLite to MySQL or PostgreSQL}{356}{section.44.12}
\contentsline {section}{\numberline {44.13}Backing Up Your Bacula Database}{356}{section.44.13}
\contentsline {section}{\numberline {44.14}Security considerations}{357}{section.44.14}
\contentsline {section}{\numberline {44.15}Backing Up Third Party Databases}{357}{section.44.15}
\contentsline {section}{\numberline {44.16}Database Size}{357}{section.44.16}
\contentsline {chapter}{\numberline {45}Bacula Security Issues}{359}{chapter.45}
\contentsline {section}{\numberline {45.1}Backward Compatibility}{359}{section.45.1}
\contentsline {section}{\numberline {45.2}Configuring and Testing TCP Wrappers}{360}{section.45.2}
\contentsline {section}{\numberline {45.3}Running as non-root}{361}{section.45.3}
\contentsline {chapter}{\numberline {46}The Bootstrap File}{363}{chapter.46}
\contentsline {section}{\numberline {46.1}Bootstrap File Format}{363}{section.46.1}
\contentsline {section}{\numberline {46.2}Automatic Generation of Bootstrap Files}{366}{section.46.2}
\contentsline {section}{\numberline {46.3}Bootstrap for bscan}{366}{section.46.3}
\contentsline {section}{\numberline {46.4}A Final Bootstrap Example}{366}{section.46.4}
\contentsline {chapter}{\numberline {47}Bacula Copyright, Trademark, and Licenses}{369}{chapter.47}
\contentsline {section}{\numberline {47.1}CC-BY-SA}{369}{section.47.1}
\contentsline {section}{\numberline {47.2}GPL}{369}{section.47.2}
\contentsline {section}{\numberline {47.3}LGPL}{369}{section.47.3}
\contentsline {section}{\numberline {47.4}Public Domain}{369}{section.47.4}
\contentsline {section}{\numberline {47.5}Trademark}{369}{section.47.5}
\contentsline {section}{\numberline {47.6}Fiduciary License Agreement}{369}{section.47.6}
\contentsline {section}{\numberline {47.7}Disclaimer}{370}{section.47.7}
\contentsline {section}{\numberline {47.8}Authors}{370}{section.47.8}
\contentsline {section}{\numberline {47.9}Table of Contents}{382}{section.47.9}
\contentsline {section}{\numberline {47.10}GNU LESSER GENERAL PUBLIC LICENSE}{382}{section.47.10}
\contentsline {section}{\numberline {47.11}Preamble}{382}{section.47.11}
\contentsline {section}{\numberline {47.12}TERMS AND CONDITIONS}{383}{section.47.12}
\contentsline {section}{\numberline {47.13}How to Apply These Terms to Your New Libraries}{387}{section.47.13}
\contentsline {chapter}{\numberline {48}Thanks}{389}{chapter.48}
\contentsline {section}{\numberline {48.1}Bacula Bugs}{391}{section.48.1}
