\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.4.0}{9}{chapter.2}
\contentsline {subsubsection}{Cloud Backup}{9}{section*.8}
\contentsline {subsubsection}{Cloud Volume Architecture}{9}{section*.9}
\contentsline {subsubsection}{Cloud Restore}{10}{section*.10}
\contentsline {subsubsection}{Compatibility}{10}{section*.11}
\contentsline {subsubsection}{Deduplication and the Cloud}{10}{section*.12}
\contentsline {subsubsection}{Virtual Autochangers and Disk Autochangers}{10}{section*.13}
\contentsline {subsubsection}{Security}{10}{section*.14}
\contentsline {subsubsection}{Cache and Pruning}{10}{section*.15}
\contentsline {subsection}{\numberline {2.0.1}New Commands, Resource, and Directives for Cloud}{10}{subsection.2.0.1}
\contentsline {subsubsection}{New Cloud Bconsole Commands}{11}{section*.16}
\contentsline {subsubsection}{Cloud Additions to the DIR Pool Resource}{12}{section*.17}
\contentsline {subsubsection}{Cloud Additions to the SD Device Resource}{12}{section*.18}
\contentsline {subsubsection}{New Cloud SD Device Directives}{12}{section*.19}
\contentsline {subsubsection}{Example Cloud Device Specification}{12}{section*.20}
\contentsline {subsubsection}{The Cloud Resource}{13}{section*.21}
\contentsline {subsubsection}{File Driver for the Cloud}{14}{section*.22}
\contentsline {subsection}{\numberline {2.0.2}WORM Tape Support}{15}{subsection.2.0.2}
\contentsline {chapter}{\numberline {3}New Features in 9.2.0}{17}{chapter.3}
\contentsline {subsection}{\numberline {3.0.1}Enhanced Autochanger Support}{17}{subsection.3.0.1}
\contentsline {subsection}{\numberline {3.0.2}New Prune Command Option}{18}{subsection.3.0.2}
\contentsline {subsection}{\numberline {3.0.3}BConsole Features}{18}{subsection.3.0.3}
\contentsline {subsubsection}{Delete a Client}{18}{section*.23}
\contentsline {subsubsection}{Status Schedule Enhancements}{18}{section*.24}
\contentsline {subsubsection}{Restore option ``noautoparent''}{18}{section*.25}
\contentsline {subsection}{\numberline {3.0.4}Tray Monitor Restore Screen}{18}{subsection.3.0.4}
\contentsline {chapter}{\numberline {4}New Features in 9.0.0}{21}{chapter.4}
\contentsline {subsection}{\numberline {4.0.1}Enhanced Autochanger Support}{21}{subsection.4.0.1}
\contentsline {subsection}{\numberline {4.0.2}Source Code for Windows}{22}{subsection.4.0.2}
\contentsline {subsection}{\numberline {4.0.3}Maximum Virtual Full Interval Option}{22}{subsection.4.0.3}
\contentsline {subsection}{\numberline {4.0.4}Progressive Virtual Full}{22}{subsection.4.0.4}
\contentsline {subsubsection}{Backups To Keep Directive}{22}{section*.26}
\contentsline {subsubsection}{Delete Consolidated Jobs}{23}{section*.27}
\contentsline {subsubsection}{Virtual Full Compatibility}{23}{section*.28}
\contentsline {subsection}{\numberline {4.0.5}TapeAlert Enhancements}{23}{subsection.4.0.5}
\contentsline {subsubsection}{What is New}{23}{section*.29}
\contentsline {subsubsection}{Handling of Alerts}{25}{section*.30}
\contentsline {subsection}{\numberline {4.0.6}New Console ACL Directives}{25}{subsection.4.0.6}
\contentsline {subsubsection}{DirectoryACL}{26}{section*.31}
\contentsline {subsection}{\numberline {4.0.7}New Bconsole ``list'' Command Behavior}{26}{subsection.4.0.7}
\contentsline {subsection}{\numberline {4.0.8}New Console ACL Directives}{26}{subsection.4.0.8}
\contentsline {subsection}{\numberline {4.0.9}Client Initiated Backup}{27}{subsection.4.0.9}
\contentsline {subsection}{\numberline {4.0.10}Configuring Client Initiated Backup}{28}{subsection.4.0.10}
\contentsline {subsection}{\numberline {4.0.11}New Tray Monitor}{29}{subsection.4.0.11}
\contentsline {subsection}{\numberline {4.0.12}Schedule Jobs via the Tray Monitor}{30}{subsection.4.0.12}
\contentsline {subsection}{\numberline {4.0.13}Accurate Option for Verify ``Volume Data'' Job}{33}{subsection.4.0.13}
\contentsline {subsection}{\numberline {4.0.14}FileDaemon Saved Messages Resource Destination}{33}{subsection.4.0.14}
\contentsline {subsection}{\numberline {4.0.15}Minor Enhancements}{33}{subsection.4.0.15}
\contentsline {subsubsection}{New Bconsole ".estimate" Command}{33}{section*.32}
\contentsline {subsubsection}{Traceback and Lockdump}{34}{section*.33}
\contentsline {subsection}{\numberline {4.0.16}Bconsole ``list jobs'' command options}{34}{subsection.4.0.16}
\contentsline {subsection}{\numberline {4.0.17}Minor Enhancements}{34}{subsection.4.0.17}
\contentsline {subsubsection}{New Bconsole "Tee All" Command}{34}{section*.34}
\contentsline {subsection}{\numberline {4.0.18}Bconsole ``list jobs'' command options}{34}{subsection.4.0.18}
\contentsline {subsection}{\numberline {4.0.19}New Bconsole "Tee All" Command}{34}{subsection.4.0.19}
\contentsline {subsection}{\numberline {4.0.20}New Job Edit Codes \%I}{34}{subsection.4.0.20}
\contentsline {subsection}{\numberline {4.0.21}Communication Line Compression}{36}{subsection.4.0.21}
\contentsline {subsection}{\numberline {4.0.22}Deduplication Optimized Volumes}{36}{subsection.4.0.22}
\contentsline {subsection}{\numberline {4.0.23}baculabackupreport}{36}{subsection.4.0.23}
\contentsline {subsection}{\numberline {4.0.24}New Message Identification Format}{36}{subsection.4.0.24}
\contentsline {chapter}{\numberline {5}New Features in 7.4.0}{39}{chapter.5}
\contentsline {section}{\numberline {5.1}New Features in 7.4.3}{39}{section.5.1}
\contentsline {subsection}{\numberline {5.1.1}RunScripts}{39}{subsection.5.1.1}
\contentsline {section}{\numberline {5.2}New Features in 7.4.0}{39}{section.5.2}
\contentsline {subsection}{\numberline {5.2.1}Verify Volume Data}{39}{subsection.5.2.1}
\contentsline {subsection}{\numberline {5.2.2}Bconsole ``list jobs'' command options}{40}{subsection.5.2.2}
\contentsline {subsection}{\numberline {5.2.3}Minor Enhancements}{41}{subsection.5.2.3}
\contentsline {subsubsection}{New Bconsole "Tee All" Command}{41}{section*.37}
\contentsline {subsection}{\numberline {5.2.4}Windows Encrypted File System (EFS) Support}{41}{subsection.5.2.4}
\contentsline {subsection}{\numberline {5.2.5}SSL Connections to MySQL}{41}{subsection.5.2.5}
\contentsline {subsection}{\numberline {5.2.6}Max Virtual Full Interval}{41}{subsection.5.2.6}
\contentsline {subsection}{\numberline {5.2.7}New List Volumes Output}{41}{subsection.5.2.7}
\contentsline {chapter}{\numberline {6}New Features in 7.2.0}{43}{chapter.6}
\contentsline {section}{\numberline {6.1}New Features in 7.2.0}{43}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}New Job Edit Codes \%E \%R}{43}{subsection.6.1.1}
\contentsline {subsection}{\numberline {6.1.2}Enable/Disable commands}{43}{subsection.6.1.2}
\contentsline {section}{\numberline {6.2}Bacula 7.2}{43}{section.6.2}
\contentsline {subsection}{\numberline {6.2.1}Snapshot Management}{43}{subsection.6.2.1}
\contentsline {subsubsection}{Snapshot Backends}{43}{section*.38}
\contentsline {subsubsection}{Application Quiescing}{44}{section*.39}
\contentsline {subsubsection}{New Director Directives}{44}{section*.40}
\contentsline {subsubsection}{Job Output Information}{45}{section*.41}
\contentsline {subsubsection}{New ``snapshot'' Bconsole Commands}{45}{section*.42}
\contentsline {subsubsection}{LVM Backend Restrictions}{46}{section*.43}
\contentsline {subsubsection}{Debug Options}{47}{section*.44}
\contentsline {subsection}{\numberline {6.2.2}Minor Enhancements}{47}{subsection.6.2.2}
\contentsline {subsubsection}{Storage Daemon Reports Disk Usage}{47}{section*.45}
\contentsline {subsection}{\numberline {6.2.3}Data Encryption Cipher Configuration}{47}{subsection.6.2.3}
\contentsline {subsection}{\numberline {6.2.4}Read Only Storage Devices}{48}{subsection.6.2.4}
\contentsline {subsection}{\numberline {6.2.5}New Resume Command}{48}{subsection.6.2.5}
\contentsline {subsection}{\numberline {6.2.6}New Prune ``Expired'' Volume Command}{49}{subsection.6.2.6}
\contentsline {subsection}{\numberline {6.2.7}New Job Edit Codes \%P \%C}{49}{subsection.6.2.7}
\contentsline {subsection}{\numberline {6.2.8}Enhanced Status and Error Messages}{49}{subsection.6.2.8}
\contentsline {subsection}{\numberline {6.2.9}Miscellaneous New Features}{49}{subsection.6.2.9}
\contentsline {subsection}{\numberline {6.2.10}FD Storage Address}{50}{subsection.6.2.10}
\contentsline {subsection}{\numberline {6.2.11}Maximum Concurrent Read Jobs}{50}{subsection.6.2.11}
\contentsline {subsection}{\numberline {6.2.12}Incomplete Jobs}{50}{subsection.6.2.12}
\contentsline {subsection}{\numberline {6.2.13}The Stop Command}{50}{subsection.6.2.13}
\contentsline {subsection}{\numberline {6.2.14}The Restart Command}{51}{subsection.6.2.14}
\contentsline {subsection}{\numberline {6.2.15}Job Bandwidth Limitation}{51}{subsection.6.2.15}
\contentsline {subsection}{\numberline {6.2.16}Always Backup a File}{52}{subsection.6.2.16}
\contentsline {subsection}{\numberline {6.2.17}Setting Accurate Mode at Runtime}{52}{subsection.6.2.17}
\contentsline {subsection}{\numberline {6.2.18}Additions to RunScript variables}{53}{subsection.6.2.18}
\contentsline {subsection}{\numberline {6.2.19}LZO Compression}{53}{subsection.6.2.19}
\contentsline {subsection}{\numberline {6.2.20}Purge Migration Job}{53}{subsection.6.2.20}
\contentsline {subsection}{\numberline {6.2.21}Changes in the Pruning Algorithm}{54}{subsection.6.2.21}
\contentsline {subsection}{\numberline {6.2.22}Ability to Verify any specified Job}{54}{subsection.6.2.22}
\contentsline {chapter}{\numberline {7}New Features in 7.0.0}{55}{chapter.7}
\contentsline {section}{\numberline {7.1}New Features in 7.0.0}{55}{section.7.1}
\contentsline {subsection}{\numberline {7.1.1}Storage daemon to Storage daemon}{55}{subsection.7.1.1}
\contentsline {subsection}{\numberline {7.1.2}SD Calls Client}{55}{subsection.7.1.2}
\contentsline {subsection}{\numberline {7.1.3}Next Pool}{56}{subsection.7.1.3}
\contentsline {subsection}{\numberline {7.1.4}status storage}{56}{subsection.7.1.4}
\contentsline {subsection}{\numberline {7.1.5}status schedule}{56}{subsection.7.1.5}
\contentsline {subsection}{\numberline {7.1.6}Data Encryption Cipher Configuration}{57}{subsection.7.1.6}
\contentsline {subsection}{\numberline {7.1.7}New Truncate Command}{57}{subsection.7.1.7}
\contentsline {subsection}{\numberline {7.1.8}Migration/Copy/VirtualFull Performance Enhancements}{57}{subsection.7.1.8}
\contentsline {subsection}{\numberline {7.1.9}VirtualFull Backup Consolidation Enhancements}{58}{subsection.7.1.9}
\contentsline {subsection}{\numberline {7.1.10}FD Storage Address}{58}{subsection.7.1.10}
\contentsline {subsection}{\numberline {7.1.11}Job Bandwidth Limitation}{59}{subsection.7.1.11}
\contentsline {subsection}{\numberline {7.1.12}Maximum Concurrent Read Jobs}{60}{subsection.7.1.12}
\contentsline {subsection}{\numberline {7.1.13}Director job Codes in Message Resource Commands}{60}{subsection.7.1.13}
\contentsline {subsection}{\numberline {7.1.14}Additions to RunScript variables}{60}{subsection.7.1.14}
\contentsline {subsection}{\numberline {7.1.15}Read Only Storage Devices}{61}{subsection.7.1.15}
\contentsline {subsection}{\numberline {7.1.16}New Prune ``Expired'' Volume Command}{61}{subsection.7.1.16}
\contentsline {subsection}{\numberline {7.1.17}Hardlink Performance Enhancements}{61}{subsection.7.1.17}
\contentsline {subsection}{\numberline {7.1.18}DisableCommand Directive}{61}{subsection.7.1.18}
\contentsline {subsection}{\numberline {7.1.19}Multiple Console Directors}{62}{subsection.7.1.19}
\contentsline {subsection}{\numberline {7.1.20}Restricted Consoles}{62}{subsection.7.1.20}
\contentsline {subsection}{\numberline {7.1.21}Configuration Files}{62}{subsection.7.1.21}
\contentsline {subsection}{\numberline {7.1.22}Maximum Spawned Jobs}{62}{subsection.7.1.22}
\contentsline {subsection}{\numberline {7.1.23}Progress Meter}{62}{subsection.7.1.23}
\contentsline {subsection}{\numberline {7.1.24}Scheduling a 6th Week}{62}{subsection.7.1.24}
\contentsline {subsection}{\numberline {7.1.25}Scheduling the Last Day of a Month}{62}{subsection.7.1.25}
\contentsline {subsection}{\numberline {7.1.26}Improvements to Cancel and Restart bconsole Commands}{62}{subsection.7.1.26}
\contentsline {subsection}{\numberline {7.1.27}bconsole Performance Improvements}{62}{subsection.7.1.27}
\contentsline {subsection}{\numberline {7.1.28}New .bvfs\_decode\_lstat Command}{63}{subsection.7.1.28}
\contentsline {chapter}{\numberline {8}New Features in 5.2.13}{65}{chapter.8}
\contentsline {subsection}{\numberline {8.0.1}Additions to RunScript variables}{65}{subsection.8.0.1}
\contentsline {section}{\numberline {8.1}New Features in 5.2.1}{65}{section.8.1}
\contentsline {subsection}{\numberline {8.1.1}LZO Compression}{65}{subsection.8.1.1}
\contentsline {subsection}{\numberline {8.1.2}New Tray Monitor}{65}{subsection.8.1.2}
\contentsline {subsection}{\numberline {8.1.3}Purge Migration Job}{67}{subsection.8.1.3}
\contentsline {subsection}{\numberline {8.1.4}Changes in Bvfs (Bacula Virtual FileSystem)}{67}{subsection.8.1.4}
\contentsline {subsection}{\numberline {8.1.5}Changes in the Pruning Algorithm}{70}{subsection.8.1.5}
\contentsline {subsection}{\numberline {8.1.6}Ability to Verify any specified Job}{70}{subsection.8.1.6}
\contentsline {subsection}{\numberline {8.1.7}Additions to RunScript variables}{71}{subsection.8.1.7}
\contentsline {subsection}{\numberline {8.1.8}Additions to the Plugin API}{71}{subsection.8.1.8}
\contentsline {subsubsection}{bfuncs}{71}{section*.57}
\contentsline {subsubsection}{Bacula events}{73}{section*.58}
\contentsline {subsection}{\numberline {8.1.9}ACL enhancements}{73}{subsection.8.1.9}
\contentsline {subsection}{\numberline {8.1.10}XATTR enhancements}{73}{subsection.8.1.10}
\contentsline {subsection}{\numberline {8.1.11}Class Based Database Backend Drivers}{74}{subsection.8.1.11}
\contentsline {subsection}{\numberline {8.1.12}Hash List Enhancements}{75}{subsection.8.1.12}
\contentsline {section}{\numberline {8.2}Release Version 5.0.3}{75}{section.8.2}
\contentsline {section}{\numberline {8.3}Release Version 5.0.2}{75}{section.8.3}
\contentsline {section}{\numberline {8.4}New Features in 5.0.1}{75}{section.8.4}
\contentsline {subsection}{\numberline {8.4.1}Truncate Volume after Purge}{75}{subsection.8.4.1}
\contentsline {subsection}{\numberline {8.4.2}Allow Higher Duplicates}{76}{subsection.8.4.2}
\contentsline {subsection}{\numberline {8.4.3}Cancel Lower Level Duplicates}{76}{subsection.8.4.3}
\contentsline {section}{\numberline {8.5}New Features in 5.0.0}{76}{section.8.5}
\contentsline {subsection}{\numberline {8.5.1}Maximum Concurrent Jobs for Devices}{76}{subsection.8.5.1}
\contentsline {subsection}{\numberline {8.5.2}Restore from Multiple Storage Daemons}{76}{subsection.8.5.2}
\contentsline {subsection}{\numberline {8.5.3}File Deduplication using Base Jobs}{76}{subsection.8.5.3}
\contentsline {subsection}{\numberline {8.5.4}AllowCompression = $<${}yes$|${}no$>${}}{76}{subsection.8.5.4}
\contentsline {subsection}{\numberline {8.5.5}Accurate Fileset Options}{77}{subsection.8.5.5}
\contentsline {subsection}{\numberline {8.5.6}Tab-completion for Bconsole}{77}{subsection.8.5.6}
\contentsline {subsection}{\numberline {8.5.7}Pool File and Job Retention}{78}{subsection.8.5.7}
\contentsline {subsection}{\numberline {8.5.8}Read-only File Daemon using capabilities}{78}{subsection.8.5.8}
\contentsline {subsection}{\numberline {8.5.9}Bvfs API}{78}{subsection.8.5.9}
\contentsline {subsection}{\numberline {8.5.10}Testing your Tape Drive}{78}{subsection.8.5.10}
\contentsline {subsection}{\numberline {8.5.11}New {\bf Block Checksum} Device Directive}{79}{subsection.8.5.11}
\contentsline {subsection}{\numberline {8.5.12}New Bat Features}{79}{subsection.8.5.12}
\contentsline {subsubsection}{Media List View}{79}{section*.59}
\contentsline {subsubsection}{Media Information View}{79}{section*.60}
\contentsline {subsubsection}{Job Information View}{79}{section*.61}
\contentsline {subsubsection}{Autochanger Content View}{79}{section*.62}
\contentsline {subsection}{\numberline {8.5.13}Bat on Windows}{82}{subsection.8.5.13}
\contentsline {subsection}{\numberline {8.5.14}New Win32 Installer}{82}{subsection.8.5.14}
\contentsline {subsection}{\numberline {8.5.15}Win64 Installer}{82}{subsection.8.5.15}
\contentsline {subsection}{\numberline {8.5.16}Linux Bare Metal Recovery USB Key}{82}{subsection.8.5.16}
\contentsline {subsection}{\numberline {8.5.17}bconsole Timeout Option}{82}{subsection.8.5.17}
\contentsline {subsection}{\numberline {8.5.18}Important Changes}{82}{subsection.8.5.18}
\contentsline {subsubsection}{Custom Catalog queries}{83}{section*.64}
\contentsline {subsubsection}{Deprecated parts}{83}{section*.65}
\contentsline {subsection}{\numberline {8.5.19}Misc Changes}{83}{subsection.8.5.19}
\contentsline {chapter}{\numberline {9}Released Version 3.0.3 and 3.0.3a}{85}{chapter.9}
\contentsline {section}{\numberline {9.1}New Features in Released Version 3.0.2}{85}{section.9.1}
\contentsline {subsection}{\numberline {9.1.1}Full Restore from a Given JobId}{85}{subsection.9.1.1}
\contentsline {subsection}{\numberline {9.1.2}Source Address}{85}{subsection.9.1.2}
\contentsline {subsection}{\numberline {9.1.3}Show volume availability when doing restore}{86}{subsection.9.1.3}
\contentsline {subsection}{\numberline {9.1.4}Accurate estimate command}{86}{subsection.9.1.4}
\contentsline {section}{\numberline {9.2}New Features in 3.0.0}{86}{section.9.2}
\contentsline {subsection}{\numberline {9.2.1}Accurate Backup}{87}{subsection.9.2.1}
\contentsline {subsubsection}{Accurate = $<${}yes$|${}no$>${}}{87}{section*.66}
\contentsline {subsection}{\numberline {9.2.2}Copy Jobs}{87}{subsection.9.2.2}
\contentsline {subsection}{\numberline {9.2.3}ACL Updates}{89}{subsection.9.2.3}
\contentsline {subsection}{\numberline {9.2.4}Extended Attributes}{90}{subsection.9.2.4}
\contentsline {subsection}{\numberline {9.2.5}Shared objects}{91}{subsection.9.2.5}
\contentsline {subsection}{\numberline {9.2.6}Building Static versions of Bacula}{91}{subsection.9.2.6}
\contentsline {subsection}{\numberline {9.2.7}Virtual Backup (Vbackup)}{91}{subsection.9.2.7}
\contentsline {subsection}{\numberline {9.2.8}Catalog Format}{93}{subsection.9.2.8}
\contentsline {subsection}{\numberline {9.2.9}64 bit Windows Client}{93}{subsection.9.2.9}
\contentsline {subsection}{\numberline {9.2.10}Duplicate Job Control}{94}{subsection.9.2.10}
\contentsline {subsubsection}{Allow Duplicate Jobs = $<${}yes$|${}no$>${}}{94}{section*.67}
\contentsline {subsubsection}{Allow Higher Duplicates = $<${}yes$|${}no$>${}}{94}{section*.68}
\contentsline {subsubsection}{Cancel Running Duplicates = $<${}yes$|${}no$>${}}{94}{section*.69}
\contentsline {subsubsection}{Cancel Queued Duplicates = $<${}yes$|${}no$>${}}{94}{section*.70}
\contentsline {subsection}{\numberline {9.2.11}TLS Authentication}{94}{subsection.9.2.11}
\contentsline {subsubsection}{TLS Authenticate = yes}{94}{section*.71}
\contentsline {subsection}{\numberline {9.2.12}bextract non-portable Win32 data}{95}{subsection.9.2.12}
\contentsline {subsection}{\numberline {9.2.13}State File updated at Job Termination}{95}{subsection.9.2.13}
\contentsline {subsection}{\numberline {9.2.14}MaxFullInterval = $<${}time-interval$>${}}{95}{subsection.9.2.14}
\contentsline {subsection}{\numberline {9.2.15}MaxDiffInterval = $<${}time-interval$>${}}{95}{subsection.9.2.15}
\contentsline {subsection}{\numberline {9.2.16}Honor No Dump Flag = $<${}yes$|${}no$>${}}{95}{subsection.9.2.16}
\contentsline {subsection}{\numberline {9.2.17}Exclude Dir Containing = $<${}filename-string$>${}}{95}{subsection.9.2.17}
\contentsline {subsection}{\numberline {9.2.18}Bacula Plugins}{96}{subsection.9.2.18}
\contentsline {subsubsection}{Plugin Directory}{96}{section*.72}
\contentsline {subsubsection}{Plugin Options}{96}{section*.73}
\contentsline {subsubsection}{Plugin Options ACL}{96}{section*.74}
\contentsline {subsubsection}{Plugin = $<${}plugin-command-string$>${}}{96}{section*.75}
\contentsline {subsection}{\numberline {9.2.19}The bpipe Plugin}{97}{subsection.9.2.19}
\contentsline {subsection}{\numberline {9.2.20}Microsoft Exchange Server 2003/2007 Plugin}{97}{subsection.9.2.20}
\contentsline {subsubsection}{Background}{97}{section*.76}
\contentsline {subsubsection}{Concepts}{98}{section*.77}
\contentsline {subsubsection}{Installing}{98}{section*.78}
\contentsline {subsubsection}{Backing Up}{98}{section*.79}
\contentsline {subsubsection}{Restoring}{99}{section*.80}
\contentsline {subsubsection}{Restoring to the Recovery Storage Group}{99}{section*.81}
\contentsline {subsubsection}{Restoring on Microsoft Server 2007}{99}{section*.82}
\contentsline {subsubsection}{Caveats}{99}{section*.83}
\contentsline {subsection}{\numberline {9.2.21}libdbi Framework}{100}{subsection.9.2.21}
\contentsline {subsection}{\numberline {9.2.22}Console Command Additions and Enhancements}{101}{subsection.9.2.22}
\contentsline {subsubsection}{Display Autochanger Content}{101}{section*.84}
\contentsline {subsubsection}{list joblog job=xxx or jobid=nnn}{101}{section*.85}
\contentsline {subsubsection}{Use separator for multiple commands}{101}{section*.86}
\contentsline {subsubsection}{Deleting Volumes}{101}{section*.87}
\contentsline {subsection}{\numberline {9.2.23}Bare Metal Recovery}{101}{subsection.9.2.23}
\contentsline {subsection}{\numberline {9.2.24}Miscellaneous}{102}{subsection.9.2.24}
\contentsline {subsubsection}{Allow Mixed Priority = $<${}yes$|${}no$>${}}{102}{section*.88}
\contentsline {subsubsection}{Bootstrap File Directive -- FileRegex}{102}{section*.89}
\contentsline {subsubsection}{Bootstrap File Optimization Changes}{102}{section*.90}
\contentsline {subsubsection}{Solaris ZFS/NFSv4 ACLs}{102}{section*.91}
\contentsline {subsubsection}{Virtual Tape Emulation}{103}{section*.92}
\contentsline {subsubsection}{Bat Enhancements}{103}{section*.93}
\contentsline {subsubsection}{RunScript Enhancements}{103}{section*.94}
\contentsline {subsubsection}{Status Enhancements}{103}{section*.95}
\contentsline {subsubsection}{Connect Timeout}{103}{section*.96}
\contentsline {subsubsection}{ftruncate for NFS Volumes}{103}{section*.97}
\contentsline {subsubsection}{Support for Ubuntu}{103}{section*.98}
\contentsline {subsubsection}{Recycle Pool = $<${}pool-name$>${}}{104}{section*.99}
\contentsline {subsubsection}{FD Version}{104}{section*.100}
\contentsline {subsubsection}{Max Run Sched Time = $<${}time-period-in-seconds$>${}}{104}{section*.101}
\contentsline {subsubsection}{Max Wait Time = $<${}time-period-in-seconds$>${}}{104}{section*.102}
\contentsline {subsubsection}{Incremental|Differential Max Wait Time = $<${}time-period-in-seconds$>${}}{104}{section*.103}
\contentsline {subsubsection}{Max Run Time directives}{104}{section*.104}
\contentsline {subsubsection}{Statistics Enhancements}{104}{section*.105}
\contentsline {subsubsection}{ScratchPool = $<${}pool-resource-name$>${}}{105}{section*.106}
\contentsline {subsubsection}{Enhanced Attribute Despooling}{105}{section*.107}
\contentsline {subsubsection}{SpoolSize = $<${}size-specification-in-bytes$>${}}{105}{section*.108}
\contentsline {subsubsection}{MaximumConsoleConnections = $<${}number$>${}}{105}{section*.109}
\contentsline {subsubsection}{VerId = $<${}string$>${}}{105}{section*.110}
\contentsline {subsubsection}{dbcheck enhancements}{106}{section*.111}
\contentsline {subsubsection}{{-}{-}docdir configure option}{106}{section*.112}
\contentsline {subsubsection}{{-}{-}htmldir configure option}{106}{section*.113}
\contentsline {subsubsection}{{-}{-}with-plugindir configure option}{106}{section*.114}
\contentsline {chapter}{\numberline {10}The Current State of Bacula}{107}{chapter.10}
\contentsline {section}{\numberline {10.1}What is Implemented}{107}{section.10.1}
\contentsline {section}{\numberline {10.2}Advantages Over Other Backup Programs}{109}{section.10.2}
\contentsline {section}{\numberline {10.3}Current Implementation Restrictions}{109}{section.10.3}
\contentsline {section}{\numberline {10.4}Design Limitations or Restrictions}{110}{section.10.4}
\contentsline {section}{\numberline {10.5}Items to Note}{110}{section.10.5}
\contentsline {chapter}{\numberline {11}System Requirements}{111}{chapter.11}
\contentsline {chapter}{\numberline {12}Supported Operating Systems}{113}{chapter.12}
\contentsline {chapter}{\numberline {13}Supported Tape Drives}{115}{chapter.13}
\contentsline {section}{\numberline {13.1}Unsupported Tape Drives}{116}{section.13.1}
\contentsline {section}{\numberline {13.2}FreeBSD Users Be Aware!!!}{116}{section.13.2}
\contentsline {section}{\numberline {13.3}Supported Autochangers}{116}{section.13.3}
\contentsline {section}{\numberline {13.4}Tape Specifications}{116}{section.13.4}
\contentsline {chapter}{\numberline {14}Getting Started with Bacula}{119}{chapter.14}
\contentsline {section}{\numberline {14.1}Understanding Jobs and Schedules}{119}{section.14.1}
\contentsline {section}{\numberline {14.2}Understanding Pools, Volumes and Labels}{119}{section.14.2}
\contentsline {section}{\numberline {14.3}Setting Up Bacula Configuration Files}{120}{section.14.3}
\contentsline {subsection}{\numberline {14.3.1}Configuring the Console Program}{120}{subsection.14.3.1}
\contentsline {subsection}{\numberline {14.3.2}Configuring the Monitor Program}{120}{subsection.14.3.2}
\contentsline {subsection}{\numberline {14.3.3}Configuring the File daemon}{121}{subsection.14.3.3}
\contentsline {subsection}{\numberline {14.3.4}Configuring the Director}{121}{subsection.14.3.4}
\contentsline {subsection}{\numberline {14.3.5}Configuring the Storage daemon}{122}{subsection.14.3.5}
\contentsline {section}{\numberline {14.4}Testing your Configuration Files}{122}{section.14.4}
\contentsline {section}{\numberline {14.5}Testing Compatibility with Your Tape Drive}{122}{section.14.5}
\contentsline {section}{\numberline {14.6}Get Rid of the /lib/tls Directory}{122}{section.14.6}
\contentsline {section}{\numberline {14.7}Running Bacula}{123}{section.14.7}
\contentsline {section}{\numberline {14.8}Log Rotation}{123}{section.14.8}
\contentsline {section}{\numberline {14.9}Log Watch}{123}{section.14.9}
\contentsline {section}{\numberline {14.10}Disaster Recovery}{123}{section.14.10}
\contentsline {chapter}{\numberline {15}Installing Bacula}{125}{chapter.15}
\contentsline {section}{\numberline {15.1}Source Release Files}{125}{section.15.1}
\contentsline {section}{\numberline {15.2}Upgrading Bacula}{125}{section.15.2}
\contentsline {section}{\numberline {15.3}Releases Numbering}{127}{section.15.3}
\contentsline {section}{\numberline {15.4}Dependency Packages}{128}{section.15.4}
\contentsline {section}{\numberline {15.5}Supported Operating Systems}{129}{section.15.5}
\contentsline {section}{\numberline {15.6}Building Bacula from Source}{129}{section.15.6}
\contentsline {section}{\numberline {15.7}What Database to Use?}{131}{section.15.7}
\contentsline {section}{\numberline {15.8}Quick Start}{132}{section.15.8}
\contentsline {section}{\numberline {15.9}Configure Options}{132}{section.15.9}
\contentsline {section}{\numberline {15.10}Recommended Options for Most Systems}{137}{section.15.10}
\contentsline {section}{\numberline {15.11}Red Hat}{137}{section.15.11}
\contentsline {section}{\numberline {15.12}Solaris}{138}{section.15.12}
\contentsline {section}{\numberline {15.13}FreeBSD}{139}{section.15.13}
\contentsline {section}{\numberline {15.14}Win32}{139}{section.15.14}
\contentsline {section}{\numberline {15.15}One File Configure Script}{139}{section.15.15}
\contentsline {section}{\numberline {15.16}Installing Bacula}{139}{section.15.16}
\contentsline {section}{\numberline {15.17}Building a File Daemon or Client}{139}{section.15.17}
\contentsline {section}{\numberline {15.18}Auto Starting the Daemons}{140}{section.15.18}
\contentsline {section}{\numberline {15.19}Other Make Notes}{140}{section.15.19}
\contentsline {section}{\numberline {15.20}Modifying the Bacula Configuration Files}{141}{section.15.20}
\contentsline {chapter}{\numberline {16}Critical Items to Implement Before Production}{143}{chapter.16}
\contentsline {section}{\numberline {16.1}Critical Items}{143}{section.16.1}
\contentsline {section}{\numberline {16.2}Recommended Items}{144}{section.16.2}
\contentsline {chapter}{\numberline {17}A Brief Tutorial}{145}{chapter.17}
\contentsline {section}{\numberline {17.1}Before Running Bacula}{145}{section.17.1}
\contentsline {section}{\numberline {17.2}Starting the Database}{145}{section.17.2}
\contentsline {section}{\numberline {17.3}Starting the Daemons}{146}{section.17.3}
\contentsline {section}{\numberline {17.4}Using the Director to Query and Start Jobs}{146}{section.17.4}
\contentsline {section}{\numberline {17.5}Running a Job}{147}{section.17.5}
\contentsline {section}{\numberline {17.6}Restoring Your Files}{151}{section.17.6}
\contentsline {section}{\numberline {17.7}Quitting the Console Program}{152}{section.17.7}
\contentsline {section}{\numberline {17.8}Adding a Second Client}{152}{section.17.8}
\contentsline {section}{\numberline {17.9}When The Tape Fills}{154}{section.17.9}
\contentsline {section}{\numberline {17.10}Other Useful Console Commands}{155}{section.17.10}
\contentsline {section}{\numberline {17.11}Debug Daemon Output}{155}{section.17.11}
\contentsline {section}{\numberline {17.12}Patience When Starting Daemons or Mounting Blank Tapes}{156}{section.17.12}
\contentsline {section}{\numberline {17.13}Difficulties Connecting from the FD to the SD}{156}{section.17.13}
\contentsline {section}{\numberline {17.14}Daemon Command Line Options}{156}{section.17.14}
\contentsline {section}{\numberline {17.15}Creating a Pool}{157}{section.17.15}
\contentsline {section}{\numberline {17.16}Labeling Your Volumes}{157}{section.17.16}
\contentsline {section}{\numberline {17.17}Labeling Volumes with the Console Program}{157}{section.17.17}
\contentsline {chapter}{\numberline {18}Customizing the Configuration Files}{159}{chapter.18}
\contentsline {section}{\numberline {18.1}Character Sets}{160}{section.18.1}
\contentsline {section}{\numberline {18.2}Resource Directive Format}{160}{section.18.2}
\contentsline {subsection}{\numberline {18.2.1}Comments}{160}{subsection.18.2.1}
\contentsline {subsection}{\numberline {18.2.2}Upper and Lower Case and Spaces}{160}{subsection.18.2.2}
\contentsline {subsection}{\numberline {18.2.3}Including other Configuration Files}{161}{subsection.18.2.3}
\contentsline {subsection}{\numberline {18.2.4}Recognized Primitive Data Types}{161}{subsection.18.2.4}
\contentsline {section}{\numberline {18.3}Resource Types}{162}{section.18.3}
\contentsline {section}{\numberline {18.4}Names, Passwords and Authorization}{162}{section.18.4}
\contentsline {section}{\numberline {18.5}Detailed Information for each Daemon}{163}{section.18.5}
\contentsline {chapter}{\numberline {19}Configuring the Director}{165}{chapter.19}
\contentsline {section}{\numberline {19.1}Director Resource Types}{165}{section.19.1}
\contentsline {section}{\numberline {19.2}The Director Resource}{166}{section.19.2}
\contentsline {section}{\numberline {19.3}The Job Resource}{168}{section.19.3}
\contentsline {section}{\numberline {19.4}The JobDefs Resource}{185}{section.19.4}
\contentsline {section}{\numberline {19.5}The Schedule Resource}{185}{section.19.5}
\contentsline {section}{\numberline {19.6}Technical Notes on Schedules}{188}{section.19.6}
\contentsline {section}{\numberline {19.7}The FileSet Resource}{188}{section.19.7}
\contentsline {section}{\numberline {19.8}FileSet Examples}{200}{section.19.8}
\contentsline {section}{\numberline {19.9}Backing up Raw Partitions}{203}{section.19.9}
\contentsline {section}{\numberline {19.10}Excluding Files and Directories}{203}{section.19.10}
\contentsline {section}{\numberline {19.11}Windows FileSets}{204}{section.19.11}
\contentsline {section}{\numberline {19.12}Testing Your FileSet}{206}{section.19.12}
\contentsline {section}{\numberline {19.13}The Client Resource}{206}{section.19.13}
\contentsline {section}{\numberline {19.14}The Storage Resource}{208}{section.19.14}
\contentsline {section}{\numberline {19.15}The Autochanger Resources}{211}{section.19.15}
\contentsline {section}{\numberline {19.16}The Pool Resource}{212}{section.19.16}
\contentsline {subsection}{\numberline {19.16.1}The Scratch Pool}{218}{subsection.19.16.1}
\contentsline {section}{\numberline {19.17}The Catalog Resource}{218}{section.19.17}
\contentsline {section}{\numberline {19.18}The Messages Resource}{219}{section.19.18}
\contentsline {section}{\numberline {19.19}The Console Resource}{220}{section.19.19}
\contentsline {section}{\numberline {19.20}The Counter Resource}{221}{section.19.20}
\contentsline {section}{\numberline {19.21}Example Director Configuration File}{221}{section.19.21}
\contentsline {chapter}{\numberline {20}Client/File daemon Configuration}{225}{chapter.20}
\contentsline {section}{\numberline {20.1}The Client Resource}{225}{section.20.1}
\contentsline {section}{\numberline {20.2}The Director Resource}{227}{section.20.2}
\contentsline {section}{\numberline {20.3}The Message Resource}{228}{section.20.3}
\contentsline {section}{\numberline {20.4}Example Client Configuration File}{228}{section.20.4}
\contentsline {chapter}{\numberline {21}Storage Daemon Configuration}{229}{chapter.21}
\contentsline {section}{\numberline {21.1}Storage Resource}{229}{section.21.1}
\contentsline {section}{\numberline {21.2}Director Resource}{231}{section.21.2}
\contentsline {section}{\numberline {21.3}Device Resource}{231}{section.21.3}
\contentsline {section}{\numberline {21.4}Edit Codes for Mount and Unmount Directives}{238}{section.21.4}
\contentsline {section}{\numberline {21.5}Devices that require a mount (USB)}{238}{section.21.5}
\contentsline {section}{\numberline {21.6}Capabilities}{239}{section.21.6}
\contentsline {section}{\numberline {21.7}Messages Resource}{239}{section.21.7}
\contentsline {section}{\numberline {21.8}Sample Storage Daemon Configuration File}{240}{section.21.8}
\contentsline {chapter}{\numberline {22}Messages Resource}{243}{chapter.22}
\contentsline {chapter}{\numberline {23}Console Configuration}{247}{chapter.23}
\contentsline {section}{\numberline {23.1}General}{247}{section.23.1}
\contentsline {section}{\numberline {23.2}The Director Resource}{247}{section.23.2}
\contentsline {section}{\numberline {23.3}The ConsoleFont Resource}{247}{section.23.3}
\contentsline {section}{\numberline {23.4}The Console Resource}{248}{section.23.4}
\contentsline {section}{\numberline {23.5}Console Commands}{250}{section.23.5}
\contentsline {section}{\numberline {23.6}Sample Console Configuration File}{250}{section.23.6}
\contentsline {chapter}{\numberline {24}Monitor Configuration}{251}{chapter.24}
\contentsline {section}{\numberline {24.1}The Monitor Resource}{251}{section.24.1}
\contentsline {section}{\numberline {24.2}The Director Resource}{251}{section.24.2}
\contentsline {section}{\numberline {24.3}The Client Resource}{252}{section.24.3}
\contentsline {section}{\numberline {24.4}The Storage Resource}{252}{section.24.4}
\contentsline {section}{\numberline {24.5}Tray Monitor Security}{252}{section.24.5}
\contentsline {section}{\numberline {24.6}Sample Tray Monitor configuration}{253}{section.24.6}
\contentsline {subsection}{\numberline {24.6.1}Sample File daemon's Director record.}{253}{subsection.24.6.1}
\contentsline {subsection}{\numberline {24.6.2}Sample Storage daemon's Director record.}{253}{subsection.24.6.2}
\contentsline {subsection}{\numberline {24.6.3}Sample Director's Console record.}{254}{subsection.24.6.3}
\contentsline {chapter}{\numberline {25}The Restore Command}{255}{chapter.25}
\contentsline {section}{\numberline {25.1}General}{255}{section.25.1}
\contentsline {section}{\numberline {25.2}The Restore Command}{255}{section.25.2}
\contentsline {subsection}{\numberline {25.2.1}Restore a pruned job using a pattern}{259}{subsection.25.2.1}
\contentsline {section}{\numberline {25.3}Selecting Files by Filename}{260}{section.25.3}
\contentsline {section}{\numberline {25.4}Replace Options}{261}{section.25.4}
\contentsline {section}{\numberline {25.5}Command Line Arguments}{261}{section.25.5}
\contentsline {section}{\numberline {25.6}Using File Relocation}{262}{section.25.6}
\contentsline {subsection}{\numberline {25.6.1}Introduction}{262}{subsection.25.6.1}
\contentsline {subsection}{\numberline {25.6.2}RegexWhere Format}{262}{subsection.25.6.2}
\contentsline {section}{\numberline {25.7}Restoring Directory Attributes}{263}{section.25.7}
\contentsline {section}{\numberline {25.8}Restoring on Windows}{263}{section.25.8}
\contentsline {section}{\numberline {25.9}Restoring Files Can Be Slow}{263}{section.25.9}
\contentsline {section}{\numberline {25.10}Problems Restoring Files}{264}{section.25.10}
\contentsline {section}{\numberline {25.11}Restore Errors}{264}{section.25.11}
\contentsline {section}{\numberline {25.12}Example Restore Job Resource}{265}{section.25.12}
\contentsline {section}{\numberline {25.13}File Selection Commands}{265}{section.25.13}
\contentsline {section}{\numberline {25.14}Restoring When Things Go Wrong}{266}{section.25.14}
\contentsline {chapter}{\numberline {26}Automatic Volume Recycling}{271}{chapter.26}
\contentsline {section}{\numberline {26.1}Automatic Pruning}{272}{section.26.1}
\contentsline {section}{\numberline {26.2}Pruning Directives}{272}{section.26.2}
\contentsline {section}{\numberline {26.3}Recycling Algorithm}{273}{section.26.3}
\contentsline {section}{\numberline {26.4}Recycle Status}{275}{section.26.4}
\contentsline {section}{\numberline {26.5}Making Bacula Use a Single Tape}{276}{section.26.5}
\contentsline {section}{\numberline {26.6}Daily, Weekly, Monthly Tape Usage Example}{276}{section.26.6}
\contentsline {section}{\numberline {26.7} Automatic Pruning and Recycling Example}{277}{section.26.7}
\contentsline {section}{\numberline {26.8}Manually Recycling Volumes}{278}{section.26.8}
\contentsline {chapter}{\numberline {27}Basic Volume Management}{281}{chapter.27}
\contentsline {section}{\numberline {27.1}Key Concepts and Resource Records}{281}{section.27.1}
\contentsline {subsection}{\numberline {27.1.1}Pool Options to Limit the Volume Usage}{282}{subsection.27.1.1}
\contentsline {subsection}{\numberline {27.1.2}Automatic Volume Labeling}{282}{subsection.27.1.2}
\contentsline {subsection}{\numberline {27.1.3}Restricting the Number of Volumes and Recycling}{283}{subsection.27.1.3}
\contentsline {section}{\numberline {27.2}Concurrent Disk Jobs}{284}{section.27.2}
\contentsline {section}{\numberline {27.3}An Example}{284}{section.27.3}
\contentsline {section}{\numberline {27.4}Backing up to Multiple Disks}{286}{section.27.4}
\contentsline {section}{\numberline {27.5}Considerations for Multiple Clients}{288}{section.27.5}
\contentsline {chapter}{\numberline {28}Automated Disk Backup}{291}{chapter.28}
\contentsline {section}{\numberline {28.1}The Problem}{291}{section.28.1}
\contentsline {section}{\numberline {28.2}The Solution}{291}{section.28.2}
\contentsline {section}{\numberline {28.3}Overall Design}{291}{section.28.3}
\contentsline {subsection}{\numberline {28.3.1}Full Pool}{292}{subsection.28.3.1}
\contentsline {subsection}{\numberline {28.3.2}Differential Pool}{292}{subsection.28.3.2}
\contentsline {subsection}{\numberline {28.3.3}Incremental Pool}{293}{subsection.28.3.3}
\contentsline {section}{\numberline {28.4}The Actual Conf Files}{293}{section.28.4}
\contentsline {chapter}{\numberline {29}Migration and Copy}{297}{chapter.29}
\contentsline {subsection}{\numberline {29.0.1}Storage daemon to Storage daemon}{298}{subsection.29.0.1}
\contentsline {section}{\numberline {29.1}Migration and Copy Job Resource Directives}{298}{section.29.1}
\contentsline {section}{\numberline {29.2}Migration Pool Resource Directives}{300}{section.29.2}
\contentsline {section}{\numberline {29.3}Important Migration Considerations}{300}{section.29.3}
\contentsline {section}{\numberline {29.4}Example Migration Jobs}{301}{section.29.4}
\contentsline {section}{\numberline {29.5}Virtual Backup Consolidation}{303}{section.29.5}
\contentsline {subsection}{\numberline {29.5.1}Manually Specify Jobs to Consolidate}{304}{subsection.29.5.1}
\contentsline {chapter}{\numberline {30}File Deduplication using Base Jobs}{307}{chapter.30}
\contentsline {chapter}{\numberline {31}Backup Strategies}{309}{chapter.31}
\contentsline {section}{\numberline {31.1}Simple One Tape Backup}{309}{section.31.1}
\contentsline {subsection}{\numberline {31.1.1}Advantages}{309}{subsection.31.1.1}
\contentsline {subsection}{\numberline {31.1.2}Disadvantages}{309}{subsection.31.1.2}
\contentsline {subsection}{\numberline {31.1.3}Practical Details}{309}{subsection.31.1.3}
\contentsline {section}{\numberline {31.2}Manually Changing Tapes}{309}{section.31.2}
\contentsline {section}{\numberline {31.3}Daily Tape Rotation}{310}{section.31.3}
\contentsline {subsection}{\numberline {31.3.1}Advantages}{310}{subsection.31.3.1}
\contentsline {subsection}{\numberline {31.3.2}Disadvantages}{310}{subsection.31.3.2}
\contentsline {subsection}{\numberline {31.3.3}Practical Details}{311}{subsection.31.3.3}
\contentsline {chapter}{\numberline {32}Autochanger Support}{315}{chapter.32}
\contentsline {section}{\numberline {32.1}Knowing What SCSI Devices You Have}{316}{section.32.1}
\contentsline {section}{\numberline {32.2}Example Scripts}{316}{section.32.2}
\contentsline {section}{\numberline {32.3}Slots}{317}{section.32.3}
\contentsline {section}{\numberline {32.4}Multiple Devices}{317}{section.32.4}
\contentsline {section}{\numberline {32.5}Device Configuration Records}{317}{section.32.5}
\contentsline {chapter}{\numberline {33}Autochanger Resource}{319}{chapter.33}
\contentsline {section}{\numberline {33.1}An Example Configuration File}{320}{section.33.1}
\contentsline {section}{\numberline {33.2}A Multi-drive Example Configuration File}{321}{section.33.2}
\contentsline {section}{\numberline {33.3}Specifying Slots When Labeling}{321}{section.33.3}
\contentsline {section}{\numberline {33.4}Changing Cartridges}{322}{section.33.4}
\contentsline {section}{\numberline {33.5}Dealing with Multiple Magazines}{322}{section.33.5}
\contentsline {section}{\numberline {33.6}Simulating Barcodes in your Autochanger}{322}{section.33.6}
\contentsline {section}{\numberline {33.7}The Full Form of the Update Slots Command}{323}{section.33.7}
\contentsline {section}{\numberline {33.8}FreeBSD Issues}{323}{section.33.8}
\contentsline {section}{\numberline {33.9}Testing Autochanger and Adapting mtx-changer script}{323}{section.33.9}
\contentsline {section}{\numberline {33.10}Using the Autochanger}{325}{section.33.10}
\contentsline {section}{\numberline {33.11}Barcode Support}{326}{section.33.11}
\contentsline {section}{\numberline {33.12}Use bconsole to display Autochanger content}{326}{section.33.12}
\contentsline {section}{\numberline {33.13}Bacula Autochanger Interface}{326}{section.33.13}
\contentsline {chapter}{\numberline {34}Supported Autochangers}{329}{chapter.34}
\contentsline {chapter}{\numberline {35}Data Spooling}{331}{chapter.35}
\contentsline {section}{\numberline {35.1}Data Spooling Directives}{331}{section.35.1}
\contentsline {section}{\numberline {35.2}!!! MAJOR WARNING !!!}{332}{section.35.2}
\contentsline {section}{\numberline {35.3}Other Points}{332}{section.35.3}
\contentsline {chapter}{\numberline {36}Using Bacula catalog to grab information}{333}{chapter.36}
\contentsline {section}{\numberline {36.1}Job statistics}{333}{section.36.1}
\contentsline {chapter}{\numberline {37}ANSI and IBM Tape Labels}{335}{chapter.37}
\contentsline {section}{\numberline {37.1}Director Pool Directive}{335}{section.37.1}
\contentsline {section}{\numberline {37.2}Storage Daemon Device Directives}{335}{section.37.2}
\contentsline {chapter}{\numberline {38}The Windows Version of Bacula}{337}{chapter.38}
\contentsline {section}{\numberline {38.1}Windows Installation}{337}{section.38.1}
\contentsline {section}{\numberline {38.2}Post Windows Installation}{341}{section.38.2}
\contentsline {section}{\numberline {38.3}Uninstalling Bacula on Windows}{341}{section.38.3}
\contentsline {section}{\numberline {38.4}Dealing with Windows Problems}{341}{section.38.4}
\contentsline {section}{\numberline {38.5}Windows Compatibility Considerations}{343}{section.38.5}
\contentsline {section}{\numberline {38.6}Volume Shadow Copy Service}{344}{section.38.6}
\contentsline {section}{\numberline {38.7}VSS Problems}{345}{section.38.7}
\contentsline {section}{\numberline {38.8}Windows Firewalls}{345}{section.38.8}
\contentsline {section}{\numberline {38.9}Windows Port Usage}{345}{section.38.9}
\contentsline {section}{\numberline {38.10}Windows Disaster Recovery}{345}{section.38.10}
\contentsline {section}{\numberline {38.11}Windows Restore Problems}{346}{section.38.11}
\contentsline {section}{\numberline {38.12}Windows Ownership and Permissions Problems}{346}{section.38.12}
\contentsline {section}{\numberline {38.13}Manually resetting the Permissions}{346}{section.38.13}
\contentsline {section}{\numberline {38.14}Backing Up the Windows System State}{348}{section.38.14}
\contentsline {section}{\numberline {38.15}Fixing the Windows Boot Record}{349}{section.38.15}
\contentsline {section}{\numberline {38.16}Considerations for Filename Specifications}{349}{section.38.16}
\contentsline {section}{\numberline {38.17}Windows Specific File daemon Command Line}{349}{section.38.17}
\contentsline {section}{\numberline {38.18}Shutting down Windows Systems}{350}{section.38.18}
\contentsline {chapter}{\numberline {39}Disaster Recovery Using Bacula}{351}{chapter.39}
\contentsline {section}{\numberline {39.1}General}{351}{section.39.1}
\contentsline {section}{\numberline {39.2}Important Considerations}{351}{section.39.2}
\contentsline {section}{\numberline {39.3}Steps to Take Before Disaster Strikes}{351}{section.39.3}
\contentsline {section}{\numberline {39.4}Bare Metal Recovery on Linux with a Rescue CD}{352}{section.39.4}
\contentsline {section}{\numberline {39.5}Requirements}{352}{section.39.5}
\contentsline {section}{\numberline {39.6}Restoring a Client System}{352}{section.39.6}
\contentsline {section}{\numberline {39.7}Boot with your Rescue CDROM}{353}{section.39.7}
\contentsline {section}{\numberline {39.8}Restoring a Server}{354}{section.39.8}
\contentsline {section}{\numberline {39.9}Linux Problems or Bugs}{355}{section.39.9}
\contentsline {section}{\numberline {39.10}Bare Metal Recovery using a LiveCD}{355}{section.39.10}
\contentsline {section}{\numberline {39.11}FreeBSD Bare Metal Recovery}{356}{section.39.11}
\contentsline {section}{\numberline {39.12}Solaris Bare Metal Recovery}{357}{section.39.12}
\contentsline {section}{\numberline {39.13}Preparing Solaris Before a Disaster}{357}{section.39.13}
\contentsline {section}{\numberline {39.14}Bugs and Other Considerations}{357}{section.39.14}
\contentsline {section}{\numberline {39.15}Disaster Recovery of Win32 Systems}{358}{section.39.15}
\contentsline {section}{\numberline {39.16}Ownership and Permissions on Win32 Systems}{358}{section.39.16}
\contentsline {section}{\numberline {39.17}Alternate Disaster Recovery Suggestion for Win32 Systems}{358}{section.39.17}
\contentsline {section}{\numberline {39.18}Restoring to a Running System}{359}{section.39.18}
\contentsline {section}{\numberline {39.19}Additional Resources}{359}{section.39.19}
\contentsline {chapter}{\numberline {40}Bacula TLS -- Communications Encryption}{361}{chapter.40}
\contentsline {section}{\numberline {40.1}TLS Configuration Directives}{361}{section.40.1}
\contentsline {section}{\numberline {40.2}Creating a Self-signed Certificate}{362}{section.40.2}
\contentsline {section}{\numberline {40.3}Getting a CA Signed Certificate}{362}{section.40.3}
\contentsline {section}{\numberline {40.4}Example TLS Configuration Files}{363}{section.40.4}
\contentsline {chapter}{\numberline {41}Data Encryption}{365}{chapter.41}
\contentsline {section}{\numberline {41.1}Building Bacula with Encryption Support}{365}{section.41.1}
\contentsline {section}{\numberline {41.2}Encryption Technical Details}{366}{section.41.2}
\contentsline {section}{\numberline {41.3}Decrypting with a Master Key}{366}{section.41.3}
\contentsline {section}{\numberline {41.4}Generating Private/Public Encryption Keys}{366}{section.41.4}
\contentsline {section}{\numberline {41.5}Example Data Encryption Configuration}{367}{section.41.5}
\contentsline {chapter}{\numberline {42}Using Bacula to Improve Computer Security}{369}{chapter.42}
\contentsline {section}{\numberline {42.1}The Details}{369}{section.42.1}
\contentsline {section}{\numberline {42.2}Running the Verify}{370}{section.42.2}
\contentsline {section}{\numberline {42.3}What To Do When Differences Are Found}{371}{section.42.3}
\contentsline {section}{\numberline {42.4}A Verify Configuration Example}{372}{section.42.4}
\contentsline {chapter}{\numberline {43}Installing and Configuring MySQL}{375}{chapter.43}
\contentsline {section}{\numberline {43.1}Installing and Configuring MySQL -- Phase I}{375}{section.43.1}
\contentsline {section}{\numberline {43.2}Installing and Configuring MySQL -- Phase II}{376}{section.43.2}
\contentsline {section}{\numberline {43.3}Re-initializing the Catalog Database}{377}{section.43.3}
\contentsline {section}{\numberline {43.4}Linking Bacula with MySQL}{377}{section.43.4}
\contentsline {section}{\numberline {43.5}Installing MySQL from RPMs}{378}{section.43.5}
\contentsline {section}{\numberline {43.6}Upgrading MySQL}{378}{section.43.6}
\contentsline {section}{\numberline {43.7}MySQL Configuration Caution}{378}{section.43.7}
\contentsline {chapter}{\numberline {44}Installing and Configuring PostgreSQL}{379}{chapter.44}
\contentsline {section}{\numberline {44.1}Installing PostgreSQL}{379}{section.44.1}
\contentsline {section}{\numberline {44.2}Configuring PostgreSQL}{379}{section.44.2}
\contentsline {section}{\numberline {44.3}Re-initializing the Catalog Database}{382}{section.44.3}
\contentsline {section}{\numberline {44.4}Installing PostgreSQL from RPMs}{382}{section.44.4}
\contentsline {section}{\numberline {44.5}Converting from MySQL to PostgreSQL}{382}{section.44.5}
\contentsline {section}{\numberline {44.6}Upgrading PostgreSQL}{382}{section.44.6}
\contentsline {section}{\numberline {44.7}Tuning PostgreSQL}{382}{section.44.7}
\contentsline {section}{\numberline {44.8}Credits}{383}{section.44.8}
\contentsline {chapter}{\numberline {45}Catalog Maintenance}{385}{chapter.45}
\contentsline {section}{\numberline {45.1}Setting Retention Periods}{385}{section.45.1}
\contentsline {section}{\numberline {45.2}Compacting Your MySQL Database}{386}{section.45.2}
\contentsline {section}{\numberline {45.3}Repairing Your MySQL Database}{386}{section.45.3}
\contentsline {section}{\numberline {45.4}MySQL Table is Full}{387}{section.45.4}
\contentsline {section}{\numberline {45.5}MySQL Server Has Gone Away}{387}{section.45.5}
\contentsline {section}{\numberline {45.6}MySQL Temporary Tables}{387}{section.45.6}
\contentsline {section}{\numberline {45.7}Repairing Your PostgreSQL Database}{388}{section.45.7}
\contentsline {section}{\numberline {45.8}Database Performance Issues}{388}{section.45.8}
\contentsline {section}{\numberline {45.9}Performance Issues Indexes}{388}{section.45.9}
\contentsline {subsection}{\numberline {45.9.1}PostgreSQL Indexes}{388}{subsection.45.9.1}
\contentsline {subsection}{\numberline {45.9.2}MySQL Indexes}{389}{subsection.45.9.2}
\contentsline {section}{\numberline {45.10}Compacting Your PostgreSQL Database}{389}{section.45.10}
\contentsline {section}{\numberline {45.11}Migrating from SQLite to MySQL or PostgreSQL}{389}{section.45.11}
\contentsline {section}{\numberline {45.12}Backing Up Your Bacula Database}{390}{section.45.12}
\contentsline {section}{\numberline {45.13}Security considerations}{390}{section.45.13}
\contentsline {section}{\numberline {45.14}Backing Up Third Party Databases}{391}{section.45.14}
\contentsline {section}{\numberline {45.15}Database Size}{391}{section.45.15}
\contentsline {chapter}{\numberline {46}Bacula Security Issues}{393}{chapter.46}
\contentsline {section}{\numberline {46.1}Backward Compatibility}{393}{section.46.1}
\contentsline {section}{\numberline {46.2}Configuring and Testing TCP Wrappers}{394}{section.46.2}
\contentsline {section}{\numberline {46.3}Running as non-root}{395}{section.46.3}
\contentsline {chapter}{\numberline {47}The Bootstrap File}{397}{chapter.47}
\contentsline {section}{\numberline {47.1}Bootstrap File Format}{397}{section.47.1}
\contentsline {section}{\numberline {47.2}Automatic Generation of Bootstrap Files}{400}{section.47.2}
\contentsline {section}{\numberline {47.3}Bootstrap for bscan}{400}{section.47.3}
\contentsline {section}{\numberline {47.4}A Final Bootstrap Example}{400}{section.47.4}
\contentsline {chapter}{\numberline {48}Bacula Copyright, Trademark, and Licenses}{403}{chapter.48}
\contentsline {section}{\numberline {48.1}CC-BY-SA}{403}{section.48.1}
\contentsline {section}{\numberline {48.2}GPL}{403}{section.48.2}
\contentsline {section}{\numberline {48.3}LGPL}{403}{section.48.3}
\contentsline {section}{\numberline {48.4}Public Domain}{403}{section.48.4}
\contentsline {section}{\numberline {48.5}Trademark}{403}{section.48.5}
\contentsline {section}{\numberline {48.6}Fiduciary License Agreement}{403}{section.48.6}
\contentsline {section}{\numberline {48.7}Disclaimer}{404}{section.48.7}
\contentsline {section}{\numberline {48.8}Authors}{404}{section.48.8}
\contentsline {section}{\numberline {48.9}Table of Contents}{416}{section.48.9}
\contentsline {section}{\numberline {48.10}GNU LESSER GENERAL PUBLIC LICENSE}{416}{section.48.10}
\contentsline {section}{\numberline {48.11}Preamble}{416}{section.48.11}
\contentsline {section}{\numberline {48.12}TERMS AND CONDITIONS}{417}{section.48.12}
\contentsline {section}{\numberline {48.13}How to Apply These Terms to Your New Libraries}{421}{section.48.13}
\contentsline {chapter}{\numberline {49}Thanks}{423}{chapter.49}
\contentsline {section}{\numberline {49.1}Bacula Bugs}{425}{section.49.1}
