Bacula

From Encoresoup - The Ultimate Guide to Free/Open Source Software

Jump to: navigation, search
This article contains content from the Wikipedia article:
Bacula
history contributors
Bacula
Developer: Kern Sibbald, and team
Stable release

2.4.1  (08 July 2008)

Preview release

2.4.1b  (04 July 2008)

Written in: C++
OS: Cross-platform
Genre: Backup
License: GNU General Public License v2.0
Website: http://www.bacula.org/

Bacula is an open source, enterprise level computer backup system for heterogeneous networks. It is designed to automate tasks that had often required intervention from a systems administrator or computer operator.

Bacula supports Linux, UNIX and Windows backup clients, and a range of professional backup devices including tape libraries. Administrators and operators can configure the system via a command line console, GUI or web interface; its back-end is a catalog of information stored by MySQL, PostgreSQL, or SQLite.

Contents

[edit] Introduction

Bacula is a set of computer programs for managing backup, recovery, and verification of computer data across a network. These programs work together to provide a robust, easily managed, and complete backup solution for mixed operating system environments.

Bacula is the collective work of many developers, including Kern Sibbald, and its current release has been built upon eight years of development. It is open source and available without fees for both commercial and non-commercial application, with respect to the GPL2 license with exceptions[1]. Bacula® is a registered trademark of Kern Sibbald.

[edit] Features

Bacula supports several features used by large scale, production networks, including:

[edit] Network options

  • TCP/IP - client-server communication uses standard ports and services instead of RPC for NFS, CIFS, etc.; this eases firewall administration and network security
  • CRAM-MD5 - configurable client-server authentication
  • GZIP - client-side compression to reduce network bandwidth consumption; this runs separate from hardware compression done by the backup device
  • TLS - network communication encryption
  • MD5/SHA - verify file integrity
  • CRC - verify data block integrity
  • PKI - backup data encryption

[edit] Client-options

  • 64bit - both 32 and 64bit hosts supported
  • POSIX ACL - needed to restore Windows NT ACE's and Samba servers
  • Unicode/UTF-8 - cross-platform filenames
  • VSS - calls Microsoft's snapshot service
  • LVM - pre-script setup for Linux/UNIX snapshot
  • LFS - backup files larger than 2GiB
  • raw - backup devices without a filesystem

[edit] Backup devices

  • pooling - allocates backup volumes according to job needs and retention configuration
  • spooling - writes backup data to spool until target backup medium is allocated so jobs can continue uninterrupted
  • media-spanning - such as spanning tapes
  • multi-streaming - write multiple, simultaneous data streams to the same medium
  • ANSI & EBCDIC - IBM compatibility
  • Barcodes - reading tape barcodes in libraries

[edit] Client OS

The client software, executed by a "file daemon" running on a Bacula client, supports many operating systems, including:

  • Linux - most major distributions, including:
    • RedHat (and CentOS, Fedora)
    • Gentoo,
    • Mandriva
    • Debian (and Ubuntu)
    • OpenSuSE
  • Solaris
  • FreeBSD
  • NetBSD
  • Windows
  • Mac OS X
  • OpenBSD
  • HP-UX
  • Tru64
  • IRIX

[2]

[edit] Structure

Bacula is designed to be modular so that it can scale to the needs of its operator(s). Any installation contains three kinds of daemons to execute backup and restore functionality:

Director Daemon
manages other daemons, queries and updates catalog, interfaces with operator front-ends, automates backup schedules
Storage Daemon
makes system calls to drive backup media, responds to read/write requests from Director, and receives backup/restore data from file daemon
File Daemon
negotiates client-side communication, encryption and compression, opens file handles to access a client's data
Bacula Console
the control interface from which the user can enter commands to operate bacula tasks. the console is a CLI.
Tray Mon
is a GUI that can be installed on any desktop to monitor the bacula operations.

These daemons can run on independent hosts but typical installations consist of three kinds of Bacula hosts:

Client machines
the machines that contain the files to be backed up
Storage machines
machines that contain the media used to store the backups
Backup Servers
that orchestrate the backup processes

The Director manages everything so its host will always be called a "backup server"; the client and storage daemons run as its subordinates and have no direct control of the back up process. While this structure suggests that the three daemons run on three different machines, an equally valid setup is to run all three daemons on the machine that controls the backup process and mount any remote files and storage resources into its filesystem over SMB or NFS. In practice, however, the Director and Storage Daemon are often run on one machine (often referred to as the Bacula Server). The File Daemon is then run on each machine to be backed up (including the Bacula server -- because it's catalog is dumped as SQL).

Backup data can be stored on various mediums, including tape, optical media and disk.

[edit] Limitations

Bacula stores backup data in an open yet unique format; it is not compatible with other backup utilities including tar or dump.

The Director and Storage daemons are installable on various Linux and UNIX hosts; they are also available for Windows, but are not officially supported by the project[3].

[edit] History

Date Event
January 2000 Project started
April 14th, 2002 First release to SourceForge.net (version 1.16)
June 29th, 2006 Release 1.38.11 (Final version 1 release)
January 2007 Release 2.0.0
September 2007 Release 2.2.3
June 2008 Release 2.4.0

[edit] External links

Personal tools

Micro Spy Remote [ThinkGeek] USB Memory Watch [ThinkGeek] Pico USB Flash Drive (8Gb) [ThinkGeek]