Chapter 2. Basic Concepts

Table of Contents

General Architecture
Data Recovery
Cedar Backup Pools
The Backup Process
The Collect Action
The Stage Action
The Store Action
The Purge Action
The All Action
The Validate Action
The Initialize Action
The Rebuild Action
Coordination between Master and Clients
Managed Backups
Media and Device Types
Incremental Backups
Extensions

General Architecture

Cedar Backup is architected as a Python package (library) and a single executable (a Python script). The Python package provides both application-specific code and general utilities that can be used by programs other than Cedar Backup. It also includes modules that can be used by third parties to extend Cedar Backup or provide related functionality.

The cback script is designed to run as root, since otherwise it's difficult to back up system directories or write to the CD/DVD device. However, pains are taken to use the backup user's effective user id (specified in configuration) when appropriate. Note: this does not mean that cback runs setuid[6] or setgid. However, all files on disk will be owned by the backup user, and and all rsh-based network connections will take place as the backup user.

The cback script is configured via command-line options and an XML configuration file on disk. The configuration file is normally stored in /etc/cback.conf, but this path can be overridden at runtime. See Chapter 5, Configuration for more information on how Cedar Backup is configured.

Warning

You should be aware that backups to CD/DVD media can probably be read by any user which has permissions to mount the CD/DVD writer. If you intend to leave the backup disc in the drive at all times, you may want to consider this when setting up device permissions on your machine. See also the section called “Encrypt Extension”.