Bacula® Developer's Guide

Total Page:16

File Type:pdf, Size:1020Kb

Bacula® Developer's Guide Bacula® Developer’s Guide Kern Sibbald May 29, 2021 This manual documents Bacula Community Edition 11.0.4 (29 May 2021) Copyright © 1999-2021, Kern Sibbald Bacula® is a registered trademark of Kern Sibbald. This Bacula documentation by Kern Sibbald with contributions from many others, a complete list can be found in the License chapter. Creative Commons Attribution-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-sa/4.0/ Developer’s Guide 2/146 Bacula Community Edition v.11.0.4 (29 May 2021) All trademarks are the property of their respective owners CONTENTS Developer’s Guide Contents 1 Bacula Developer Notes1 1.1 Contributions.......................................1 1.2 Patches...........................................1 1.3 Copyrights.........................................2 1.4 Copyright Assignment – Fiduciary License Agreement................2 1.5 The Development Cycle.................................3 1.5.1 Feature Requests.................................3 1.6 Bacula Code Submissions and Projects.........................5 1.7 Patches for Released Versions..............................5 1.8 Developing Bacula.....................................6 1.9 Debugging.........................................7 1.10 Using a Debugger.....................................7 1.11 Memory Leaks.......................................7 1.12 Special Files........................................8 1.13 When Implementing Incomplete Code.........................8 1.13.1 Bacula Source File Structure..........................8 1.14 Header Files........................................9 1.15 Programming Standards.................................9 1.16 Do Not Use........................................ 10 1.17 Avoid if Possible...................................... 10 1.18 Do Use Whenever Possible................................ 10 1.19 Indenting Standards.................................... 11 1.20 Naming Convention.................................... 12 1.21 Locks and Threads.................................... 13 1.22 Tabbing........................................... 14 Bacula Community Edition v.11.0.4 (29 May 2021) i/146 All trademarks are the property of their respective owners Developer’s Guide CONTENTS 1.23 Don’ts........................................... 14 1.24 Message Classes...................................... 15 1.25 Debug Messages...................................... 15 1.25.1 Debug Tags.................................... 16 1.26 Error Messages...................................... 16 1.27 Job Messages....................................... 17 1.28 Queued Job Messages.................................. 17 1.29 Memory Messages..................................... 17 1.30 Bugs Database....................................... 18 2 Bacula Git Usage 19 2.1 Bacula Git repositories.................................. 19 2.2 Git Usage.......................................... 19 2.2.1 Learning Git.................................... 20 2.3 Step by Step Modifying Bacula Code.......................... 21 2.3.1 More Details................................... 23 2.4 Forcing Changes...................................... 24 3 Bacula FD Plugin API 27 3.1 Normal vs Command vs Options Plugins........................ 27 3.2 Loading Plugins...................................... 28 3.3 loadPlugin......................................... 29 3.4 Plugin Entry Points.................................... 31 3.4.1 newPlugin(bpContext *ctx)........................... 31 3.4.2 freePlugin(bpContext *ctx)........................... 31 3.4.3 getPluginValue(bpContext *ctx, pVariable var, void *value)........ 32 3.4.4 setPluginValue(bpContext *ctx, pVariable var, void *value)......... 32 3.4.5 handlePluginEvent(bpContext *ctx, bEvent *event, void *value)...... 32 3.4.6 startBackupFile(bpContext *ctx, struct save_pkt *sp)............ 34 3.4.7 endBackupFile(bpContext *ctx)........................ 35 3.4.8 startRestoreFile(bpContext *ctx, const char *cmd)............. 35 3.4.9 createFile(bpContext *ctx, struct restore_pkt *rp).............. 35 3.4.10 setFileAttributes(bpContext *ctx, struct restore_pkt *rp).......... 36 3.4.11 endRestoreFile(bpContext *ctx)........................ 37 ii/146 Bacula Community Edition v.11.0.4 (29 May 2021) All trademarks are the property of their respective owners CONTENTS Developer’s Guide 3.4.12 pluginIO(bpContext *ctx, struct io_pkt *io)................. 37 3.4.13 bool checkFile(bpContext *ctx, char *fname)................. 38 3.5 Bacula Plugin Entrypoints................................ 38 3.5.1 bRC registerBaculaEvents(bpContext *ctx, ...)................ 38 3.5.2 bRC getBaculaValue(bpContext *ctx, bVariable var, void *value)..... 38 3.5.3 bRC setBaculaValue(bpContext *ctx, bVariable var, void *value)..... 39 3.5.4 bRC JobMessage(bpContext *ctx, const char *file, int line, int type, utime_t mtime, const char *fmt, ...)...................... 39 3.5.5 bRC DebugMessage(bpContext *ctx, const char *file, int line, int level, const char *fmt, ...)............................... 39 3.5.6 void baculaMalloc(bpContext *ctx, const char *file, int line, size_t size). 39 3.5.7 void baculaFree(bpContext *ctx, const char *file, int line, void *mem).. 39 3.6 Building Bacula Plugins................................. 39 3.7 Advanced Restore Options................................ 40 3.8 Bacula Auth Plugin Documentation........................... 41 3.8.1 Overview...................................... 41 3.8.2 Dictionary..................................... 41 3.8.3 Bacula DIR Plugin API............................. 41 3.8.4 Bacula Pluggable Authentication Modules API Framework BPAM].... 46 4 Platform Support 53 4.1 General........................................... 53 4.2 Requirements to become a Supported Platform.................... 53 5 Daemon Protocol 55 5.1 General........................................... 55 5.2 Low Level Network Protocol............................... 55 5.3 General Daemon Protocol................................ 55 5.4 The Protocol Used Between the Director and the Storage Daemon......... 56 5.5 The Protocol Used Between the Director and the File Daemon........... 56 5.6 The Save Protocol Between the File Daemon and the Storage Daemon...... 57 5.6.1 Command and Control Information....................... 57 5.6.2 Data Information................................. 57 6 Director Services Daemon 59 Bacula Community Edition v.11.0.4 (29 May 2021) iii/146 All trademarks are the property of their respective owners Developer’s Guide CONTENTS 7 File Services Daemon 61 7.1 Commands Received from the Director for a Backup................. 61 7.2 Commands Received from the Director for a Restore................. 62 8 Storage Daemon Design 63 8.1 SD Design Introduction.................................. 63 8.2 SD Development Outline................................. 63 8.3 SD Connections and Sessions.............................. 64 8.3.1 SD Append Requests............................... 64 8.3.2 SD Read Requests................................ 65 8.4 SD Data Structures.................................... 65 9 Catalog Services 67 9.1 General........................................... 67 9.1.1 Filenames and Maximum Filename Length.................. 67 9.1.2 Installing and Configuring MySQL ........................ 68 9.1.3 Installing and Configuring PostgreSQL .................... 68 9.1.4 Internal Bacula Catalog............................. 68 9.1.5 Database Table Design............................. 68 9.2 Sequence of Creation of Records for a Save Job.................... 68 9.3 Database Tables...................................... 69 10 Storage Media Output Format 81 10.1 General........................................... 81 10.2 Definitions......................................... 81 10.3 Storage Daemon File Output Format.......................... 83 10.4 Overall Format....................................... 83 10.5 Serialization........................................ 83 10.6 Block Header....................................... 83 10.7 Record Header....................................... 84 10.8 Version BB02 Block Header............................... 85 10.9 Version 2 Record Header................................. 85 10.10Volume Label Format................................... 85 10.11Session Label....................................... 86 iv/146 Bacula Community Edition v.11.0.4 (29 May 2021) All trademarks are the property of their respective owners CONTENTS Developer’s Guide 10.12Overall Storage Format.................................. 87 10.13Unix File Attributes.................................... 90 10.14Old Depreciated Tape Format.............................. 91 11 Bacula Porting Notes 97 11.1 Porting Requirements................................... 97 11.2 Steps to Take for Porting................................. 98 11.1 General........................................... 101 11.1.1 Minimal Code in Console Program....................... 101 11.1.2 GUI Interface is Difficult............................. 101 11.2 Bvfs API.......................................... 102 12 TLS 107 12.1 Introduction to TLS.................................... 107 12.2 New Configuration Directives.............................. 107 12.3 TLS API Implementation................................. 108 12.3.1 Library Initialization and Cleanup........................ 108 12.3.2 Manipulating TLS Contexts........................... 108 12.3.3 Performing Post-Connection Verification................... 109 12.3.4 Manipulating TLS Connections........................
Recommended publications
  • A Backup-As-A-Service (Baas) Software Solution
    Universidade de Brasília Institute of Exact Sciences Department of Computer Science A Backup-as-a-Service (BaaS) Software Solution Heitor M. de Faria Dissertation presented as partial requirement for conclusion on the Professional Master in Applied Computing Advisor Prof. Dra. Priscila Solis Brasília 2018 Universidade de Brasília Institute of Exact Sciences Department of Computer Science A Backup-as-a-Service (BaaS) Software Solution Heitor M. de Faria Dissertation resented as partial requirement for conclusion do Professional Master in Applied Computing Prof. Dra. Priscila Solis (Advisor) CIC/UnB Prof. Dr. Jacir Bordim Dr. Georges Amvame-Nzê Universidade de Brasília Universidade de Brasília Prof. Dr. Marcelo Ladeira Coordinator of the Post-graduation Program in Applied Computing Brasília, July 1st, 2018 Abstract Backup is a replica of any data that can be used to restore its original form. However, the total amount of digital data created worldwide more than doubles every two years and is expected reach 44 trillions of gigabytes in 2020, bringing constant new challenges to backup processes. Enterprise backup is one of the oldest and most performed tasks by in- frastructure and operations professionals. Still, most backup systems have been designed and optimized for outdated environments and use cases. That fact, generates frustration over currently backup challenges and leads to a greater willingness to modernize and to consider new technologies. Traditional backup and archive solutions are no longer able to meet users current needs. The ideal modern currently backup and recovery software product should not only provide features to attend a traditional data center, but also allow the integration and exploration of the growing Cloud, including “backup client as a service” and “backup storage as a service”.
    [Show full text]
  • Improving Read Performance with BP-Dags for Storage-Efficient File Backup
    Send Orders for Reprints to [email protected] 90 The Open Electrical & Electronic Engineering Journal, 2013, 7, 90-97 Open Access Improving Read Performance with BP-DAGs for Storage-Efficient File Backup Tianming Yang*, Jing Zhang and Ningbo Hao International College, Huanghuai University, Henan, 463000, China Abstract: The continued growth of data and high-continuity of application have raised a critical and mounting demand on storage-efficient and high-performance data protection. New technologies, especially the D2D (Disk-to-Disk) de- duplication storage are therefore getting wide attention both in academic and industry in the recent years. Existing de- duplication systems mainly rely on duplicate locality inside the backup workload to achieve high throughput but suffer from read performance degrading under conditions of poor duplicate locality. This paper presents the design and perform- ance evaluation of a D2D-based de-duplication file backup system, which employs caching techniques to improve write throughput while encoding files as graphs called BP-DAGs (Bi-pointer-based Directed Acyclic Graphs). BP-DAGs not only satisfy the 'unique' chunk storing policy of de-duplication, but also help improve file read performance in case of poor duplicate locality workloads. Evaluation results show that the system can achieve comparable read performance than non de-duplication backup systems such as Bacula under representative workloads, and the metadata storage overhead for BP-DAGs are reasonably low. Keywords: Data De-duplication, File Backup, Storage-Efficient, Read Performance. 1. INTRODUCTION schemes are emerging to provide more storage-efficient and high performance data protection for enterprises [9-13]. Data explosion [1] has been forcing backups to expand storage capacity, which makes modern enterprises face sig- In de-duplication, files or streams are divided into chunks nificant cost pressures and data management challenges.
    [Show full text]
  • Bacula Community API Using Bacula Community Version
    Bacula Community API Using Bacula Community Version This document is intended to provide insight into the considera- tions and processes required to design and implement a GUI Inter- face upon Bacula. Bacula Version 1.3, May 14, 2017 Systems Copyright (C) 2008-2017, Bacula Systems S.A. White All rights reserved. Paper Contents 1 Bacula Programming API2 1.1 General...................................2 1.2 Assumptions................................2 1.3 Implementing a GUI Interface......................3 1.3.1 Simple Console Interface....................4 1.3.2 Native Console Interface....................4 1.4 Bacula Commands............................5 1.4.1 Job Management........................6 1.4.2 Volume Management...................... 10 1.4.3 Restore GUI Using Bvfs API.................. 13 1.5 Object Detailed Information....................... 18 1.6 Resource List............................... 18 1.7 JSON Bacula Resource Description................... 20 1.8 Generate Bacula Configuration..................... 21 1.9 Enable Bacula Statistics Management................. 21 1.10 Autochanger Operations......................... 22 1.11 Bacula Catalog.............................. 22 1.11.1 Catalog Schema......................... 22 1.11.2 Common Queries........................ 28 1.12 .api version 2............................... 31 2 Revision History 32 1 / 33 Copyright © May 2017 Bacula Systems SA www.baculasystems.com/contactus................................... All trademarks are the property of their respective owners 1 Bacula Programming API 1.1 General This White Paper will outline the best practices to design custom GUI and Panel for Bacula Community version 9.0.0 or later. The current Bacula interface can be described as a human interface, doing so, interfacing a program with Bacula requires a bit of work. 1.2 Assumptions The following are the assumptions that we have made: • You have a basic understanding of Bacula, Volumes, recycling, and backup strategies.
    [Show full text]
  • Bacula Regression Testing Bacula Community Version
    Bacula Regression Testing Bacula Community Version This document is intended to provide insight into the considera- tions and processes required to implement regression testing with the Community Version of Bacula. Bacula Version 1.3, Saturday 15th December, 2018 Systems Copyright (C) 2008-2018, Bacula Systems White All rights reserved. Paper Contents 1 / ?? Copyright © December 2018 Bacula Systems www.baculasystems.com/contactus................................... All trademarks are the property of their respective owners 1 Bacula Regression Testing If you decided to install Bacula from source, and want to be as sure as possible that your self-compiled binaries behave as expected, the regression testing suite included with the source code is the best way to do so. You do not need to be a developer to run the regression scripts. If you installed Bacula from packages, going through the regression tests can be a reasonable way to ensure that everything behaves as expected and can be an important part of the pre-production testing routine. The tests are shell scripts that drive Bacula through bconsole and then typically compare the input and output with diff, so no particular infrastructure beyond what you needed to build Bacula and what is part of a typical Unix / Linux system is required. To get started, we recommend that you create a directory named bacula, under which you will put the current source code and the current set of regression scripts. The directory could have any name you like, though. Note, all the standard regression scripts run as non-root and can be run on the same machine as a production Bacula system.
    [Show full text]
  • Analysis of Outsourcing Data to the Cloud Using Autonomous Key Generation
    Scholars' Mine Masters Theses Student Theses and Dissertations Fall 2017 Analysis of outsourcing data to the cloud using autonomous key generation Mortada Abdulwahed Aman Follow this and additional works at: https://scholarsmine.mst.edu/masters_theses Part of the Computer Engineering Commons Department: Recommended Citation Aman, Mortada Abdulwahed, "Analysis of outsourcing data to the cloud using autonomous key generation" (2017). Masters Theses. 7713. https://scholarsmine.mst.edu/masters_theses/7713 This thesis is brought to you by Scholars' Mine, a service of the Missouri S&T Library and Learning Resources. This work is protected by U. S. Copyright Law. Unauthorized use including reproduction for redistribution requires the permission of the copyright holder. For more information, please contact [email protected]. ANALYSIS OF OUTSOURCING DATA TO THE CLOUD USING AUTONOMOUS KEY GENERATION by MORTADA ABDULWAHED AMAN A THESIS Presented to the Graduate Faculty of the MISSOURI UNIVERSITY OF SCIENCE AND TECHNOLOGY In Partial Fulfillment of the Requirements for the Degree MASTER OF SCIENCE in COMPUTER ENGINEERING 2017 Approved by Dr. Egemen K. Çetinkaya, Advisor Dr. Maciej J. Zawodniok Dr. Sanjay K. Madria Copyright 2017 MORTADA ABDULWAHED AMAN All Rights Reserved iii ABSTRACT Cloud computing, a technology that enables users to store and manage their data at a low cost and high availability, has been emerging for the past few decades because of the many services it provides. One of the many services cloud computing provides to its users is data storage. The majority of the users of this service are still concerned to outsource their data due to the integrity and confidentiality issues, as well as performance and cost issues, that come along with it.
    [Show full text]
  • Bacula Console
    Bacula Console << Back to man.ChinaUnix.net Next: The Bacula Console Restore Up: Bacula User's Guide Previous: Monitor Configuration Contents Index Subsections General Console Configuration Running the Console Program Stopping the Console Program Alphabetic List of Console Keywords Alphabetic List of Console Commands Special dot Commands Special At (@) Commands Running the Console Program from a Shell Script Adding Volumes to a Pool Bacula Console General The Bacula Console (sometimes called the User Agent) is a program that allows the user or the System Administrator, to interact with the Bacula Director daemon while the daemon is running. The current Bacula Console comes in two versions: a shell interface (TTY style), and a GNOME GUI interface. Both permit the administrator or authorized users to interact with Bacula. You can determine the status of a particular job, examine the contents of the Catalog as well as perform certain tape manipulations with the Console program. In addition, there is a wx-console built with wxWidgets that allows a graphic restore of files. As of version 1.34.1 it is in an early stage of development, but it already is quite useful. Since the Console program interacts with the Director through the network, your Console and Director programs do not necessarily need to run on the same machine. In fact, a certain minimal knowledge of the Console program is needed in order for Bacula to be able to write on more than one tape, because when Bacula requests a new tape, it waits until the user, via the Console program, indicates that the new tape is mounted.
    [Show full text]
  • Bacula Console and Operators Guide
    Bacula Console and Operators Guide The Leading Open Source Backup Solution. Kern Sibbald August 18, 2013 This manual documents Bacula version 5.2.13 (19 February 2013) Copyright c 1999-2010, Free Software Foundation Europe e.V. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ”GNU Free Documentation License”. 2 Contents 1 Bacula Console 5 1.1 ConsoleConfiguration . .. ........... 5 1.2 RunningtheConsoleProgram . ........... 5 1.3 StoppingtheConsoleProgram . ............ 6 1.4 AlphabeticListofConsoleKeywords . ............... 6 1.5 AlphabeticListofConsoleCommands . .............. 8 1.6 SpecialdotCommands.............................. .......... 20 1.7 SpecialAt(@)Commands. .......... 20 1.8 RunningtheConsolefromaShellScript . ............... 21 1.9 AddingVolumestoaPool............................ .......... 22 2 GNU Free Documentation License 23 3 4 CONTENTS Chapter 1 Bacula Console The Bacula Console (sometimes called the User Agent) is a program that allows the user or the System Administrator, to interact with the Bacula Director daemon while the daemon is running. The current Bacula Console comes in two versions: a shell interface (TTY style), and a QT GUI interface (Bat). Both permit the administrator or authorized users to interact with Bacula. You can determine the status of a particular job, examine the contents of the Catalog as well as perform certain tape manipulations with the Console program. Since the Console program interacts with the Director through the network, your Console and Director programs do not necessarily need to run on the same machine.
    [Show full text]
  • Bacula® Utility Programs
    Bacula® Utility programs Kern Sibbald May 29, 2021 This manual documents Bacula Community Edition 11.0.4 (29 May 2021) Copyright © 1999-2021, Kern Sibbald Bacula® is a registered trademark of Kern Sibbald. This Bacula documentation by Kern Sibbald with contributions from many others, a complete list can be found in the License chapter. Creative Commons Attribution-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-sa/4.0/ Utility programs 2/35 Bacula Community Edition v.11.0.4 (29 May 2021) All trademarks are the property of their respective owners CONTENTS Utility programs Contents 1 Volume Utility Tools1 1.1 Specifying the Configuration File............................1 1.2 Specifying a Device Name For a Tape.........................1 1.3 Specifying a Device Name For a File..........................1 1.4 Specifying Volumes....................................2 1.5 bls..............................................2 1.5.1 Listing Jobs....................................3 1.5.2 Listing Blocks...................................4 1.6 bextract..........................................5 1.6.1 Extracting with Include or Exclude Lists....................6 1.6.2 Extracting With a Bootstrap File........................6 1.6.3 Extracting From Multiple Volumes.......................6 1.6.4 Test Extraction..................................6 1.7 bscan............................................7 1.7.1 Using bscan to Compare a Volume to an existing Catalog.........9 1.7.2 Using bscan to Recreate a Catalog from a Volume.............9 1.7.3 Using bscan to Correct the Volume File Count................ 11 1.7.4 After bscan .................................... 11 1.8 bcopy............................................ 11 1.8.1 bcopy Command Options............................ 11 1.9 btape............................................ 12 1.9.1 Using btape to Verify your Tape Drive....................
    [Show full text]
  • Bacula Download for Android Baculum Web GUI Tool
    bacula download for android Baculum Web GUI Tool. This chapter presents the Bacula Web based interface that has been added to the Bacula project for version 7.0 and later. Base Features. Baculum provides the following base features: Running Bacula jobs (backup, restore, verify. ). Monitoring Bacula service status. Bacula console available via a Web window. Multi-user interface. Support for customized and restricted consoles (Console ACL function). Volume management. User friendly graphs and metrics. Basic storage daemon operations (mount, umount, release, . ). Easy to use configuration and restore wizards. Multiple Director support. Live AJAX based statuses. General Requirements. Environment for Baculum installation should have following components installed: A Web Server - with mod_rewrite module loaded. Baculum has been tested with Apache, Nginx and Lighttpd web servers. PHP 5.3 or higher with following modules installed: PDO PHP support - depending on your catalog database: PDO PostgreSQL or PDO MySQL. Note, in case using MySQL database there is required to use MySQL native driver. It is php-mysqlnd for PHP, not php-mysql. BCMath PHP module. cURL PHP module. MB String PHP module. JSON PHP module. All the above requirements are validated during Baculum start. If an error is found you will be notified during the initial login. See below for instructions on how to correct errors. With installation from binary packages (deb, rpm) all requirements will be automatically installed as packages dependencies. Installation from rpm binary packages. For rpm binary there are the following packages: baculum - main package with application files baculum-selinux - SELinux policies module baculum-httpd - Apache web server configuration files baculum-lighttpd - Lighttpd web server configuration files.
    [Show full text]
  • Bacula® Problem Resolution Guide
    Bacula® Problem Resolution Guide Kern Sibbald May 29, 2021 This manual documents Bacula Community Edition 11.0.4 (29 May 2021) Copyright © 1999-2021, Kern Sibbald Bacula® is a registered trademark of Kern Sibbald. This Bacula documentation by Kern Sibbald with contributions from many others, a complete list can be found in the License chapter. Creative Commons Attribution-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-sa/4.0/ Problem Resolution Guide 2/59 Bacula Community Edition v.11.0.4 (29 May 2021) All trademarks are the property of their respective owners CONTENTS Problem Resolution Guide Contents 1 Bacula Frequently Asked Questions1 2 Tips and Suggestions 11 2.1 Upgrading Bacula Versions................................ 11 2.2 Getting Notified of Job Completion........................... 11 2.3 Getting Email Notification to Work........................... 12 2.4 Getting Notified that Bacula is Running........................ 13 2.5 Maintaining a Valid Bootstrap File........................... 14 2.6 Rejected Volumes After a Crash............................. 15 2.7 Security Considerations.................................. 18 2.8 Creating Holiday Schedules............................... 18 2.9 Automatic Labeling Using Your Autochanger..................... 18 2.10 Backing Up Portables Using DHCP........................... 19 2.11 Going on Vacation.................................... 19 2.12 Exclude Files on Windows Regardless of Case..................... 20 2.13 Executing Scripts on a Remote Machine........................ 20 2.14 Recycling All Your Volumes............................... 21 2.15 Backing up ACLs on ext3 or XFS filesystems..................... 21 2.16 Total Automation of Bacula Tape Handling...................... 22 2.17 Running Concurrent Jobs................................. 23 3 Testing Your Tape Drive With Bacula 25 3.1 Get Your Tape Drive Working.............................. 25 3.1.1 Problems When no Tape in Drive......................
    [Show full text]
  • Bacula Catalog Database Guide
    Bacula Catalog Database Guide It comes in the night and sucks the essence from your computers. Kern Sibbald April 21, 2009 This manual documents Bacula version 3.0.0 (06 April 2009) Copyright c 1999-2009, Free Software Foundation Europe e.V. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ”GNU Free Documentation License”. 2 Contents 1 Catalog Maintenance 9 1.1 SettingRetentionPeriods . ............. 9 1.2 CompactingYourMySQLDatabase . ........... 10 1.3 RepairingYourMySQLDatabase. ............ 11 1.4 MySQLTableisFull................................ ......... 11 1.5 MySQLServerHasGoneAway . ......... 12 1.6 RepairingYourPostgreSQLDatabase . .............. 12 1.7 DatabasePerformanceIssues . ............. 12 1.8 PerformanceIssuesIndexes . ............. 13 1.8.1 PostgreSQLIndexes .. .. .. .. .. .. .. .. .. .. .. .. ........ 13 1.8.2 MySQLIndexes .................................. ..... 13 1.8.3 SQLiteIndexes ................................. ....... 14 1.9 CompactingYourPostgreSQLDatabase . .............. 14 1.10 CompactingYourSQLiteDatabase. .............. 14 1.11 Migrating from SQLite to MySQL or PostgreSQL. ................ 15 1.12 BackingUpYourBaculaDatabase . ............. 15 1.13 Securityconsiderations. ............... 16 1.14 BackingUpThirdPartyDatabases. .............. 16
    [Show full text]
  • Bacula® Problem Resolution Guide
    Bacula® Problem Resolution Guide Kern Sibbald June 3, 2021 This manual documents Bacula Community Edition 11.0.5 (03 June 2021) Copyright © 1999-2021, Kern Sibbald Bacula® is a registered trademark of Kern Sibbald. This Bacula documentation by Kern Sibbald with contributions from many others, a complete list can be found in the License chapter. Creative Commons Attribution-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-sa/4.0/ Problem Resolution Guide 2/59 Bacula Community Edition v.11.0.5 (03 June 2021) All trademarks are the property of their respective owners CONTENTS Problem Resolution Guide Contents 1 Bacula Frequently Asked Questions1 2 Tips and Suggestions 11 2.1 Upgrading Bacula Versions................................ 11 2.2 Getting Notified of Job Completion........................... 11 2.3 Getting Email Notification to Work........................... 12 2.4 Getting Notified that Bacula is Running........................ 13 2.5 Maintaining a Valid Bootstrap File........................... 14 2.6 Rejected Volumes After a Crash............................. 15 2.7 Security Considerations.................................. 18 2.8 Creating Holiday Schedules............................... 18 2.9 Automatic Labeling Using Your Autochanger..................... 18 2.10 Backing Up Portables Using DHCP........................... 19 2.11 Going on Vacation.................................... 19 2.12 Exclude Files on Windows Regardless of Case..................... 20 2.13 Executing Scripts on a Remote Machine........................ 20 2.14 Recycling All Your Volumes............................... 21 2.15 Backing up ACLs on ext3 or XFS filesystems..................... 21 2.16 Total Automation of Bacula Tape Handling...................... 22 2.17 Running Concurrent Jobs................................. 23 3 Testing Your Tape Drive With Bacula 25 3.1 Get Your Tape Drive Working.............................. 25 3.1.1 Problems When no Tape in Drive......................
    [Show full text]