Fork me on GitHub

Introduction to LBackup

LBackup is an open source backup system, aimed at systems administrators who require reliable backups of local and remote systems with minimal fuss.

Each time LBackup is executed a snapshot of the backup source directory is generated. Backups are incremental and take advantage of hard-links to reduce the disk usage requirements of your backup set(s).

The primary aim of the LBackup project is to be make reliable backups easy for system administrators. In addition, the LBackup project also aims to be a flexible and scalable backup solution.

Key LBackup features :

  1. On the fly navigation of backup history thanks to the LCD command. This lets you move forward and backwards though your backup snapshots. The purpose of the LCD command is to assist you with locating particular file and directories for restore.
  2. Backup log scan reporting in a summarised format. Regardless of wheather you have 10 or 1000 individual backup configurations. The LBackup reporting tools ensure that you have summarised information regarding the status of backups which you are responsible for at your finger tips. When problems or specific conditions arise the LBackup summary information also includes key information to assist with investigation of the problem.
  3. Support for off site backups either via removable disks or remote servers. LBackup supports and fail over for multiple geographic locations as such LBackup will backup to the backup to disks and remote backup servers which are available.
  4. Robust history of (approximately 15 years) development, refinement, testing and deployment.
  5. A highly modular design with scripting subsystem which simplifies extending and customisation of backup configurations to your specific needs.


LBackup is an ideal backup tool in the following situations (just to name a few) :

  • Network backup of running virtual machines, with auto-snapshots enabled.
  • Multi-destination network backup of your home folder, even if it is encrypted with FileVault
  • Network backup of file / web servers, including Mac OS X server and GNU/LINUX servers.



This site was recovered from a backup in 2011 due to natural disasters; resulting in hardware failure and server inaccessibility.
The LBackup website continues to be backed up exclusively using the latest version of LBackup.



LBackup is configured via configuration files. As such, no GUI is required in order to configure LBackup. All backup configuration and reporting is initiated via the command line. Simple automated backups may be configured within 10 minutes (excluding the time required for testing). With regards restoring files from a backup set, LBackup offers great flexibility. This is because the backup snapshots are presented like any other files on your operating system.

Essentially, LBackup generates snapshots of a specified source directory and adds these backup snapshots to a backup set. A backup snapshot is a hard linked (to the other snapshots within the backup set) copy of your source directory. This backup storage approach has various advantages, particularly relating to the restore of files or complete tree / sub tree from the backup.


A majority of the code base has been tested for over 14 years. The LBackup project was released under an open source license in 2007. Although LBackup is pre-release beta software, it is considered to be stable for deployment and is currently deployed across the globe by various prominent institutions. This rapid adoption is primarily due to advanced error reporting, readily available support and configuration flexibility.

LBackup is disk-to-disk backup front end to rsync (what is rsync). This means that LBackup is easily able to handle backup of data sets well in excess of 1TB. However, if rsync is not preserving meta data required by your backup policy, then LBackup will not resolve this issue. Instead, you will need to install or compile a copy of rsync for your system(s) which preserves the meta data required by your backup policy. This is particularly important if your backup policy requires the preservation of ACL's.

The LBackup project is completely open. As such this documentation is editable by you. LBackup it's self is editable and you are able to see and contribute to the direction of the project. Visit the contribute page if you would like to make LBackup even better. You may also install LBackup directly form the source code.


If you have questions, comments or suggestions relating to LBackup, then please post to the discussion mailing list or contact us directly.



About this Documentation

Just like LBackup this documentation is able to be edited. If you find any errors or omissions within the documentation then you are welcome to improve the documentation.

The aim of this documentation is to provide developers and end users with information relating to LBackup's capabilities; as well as details regarding the configuration of LBackup. In addition, the documentation contains scripts and other helpful information relevant to the LBackup project.

Finally, this documentation contains various references to other tools so that even if LBackup is not quite what you are need, this documenation may point you towards the tool which will do what you want.


LBackup Purpose

  • LBackup is aimed at the backup of user data.
  • LBackup is intended to make the deployment of a robust backup system quick and easy, while remaining flexible enough to integrate into your existing information infrastructure.
  • LBackup is primarily aimed at system administrators who deal with a lot of data. This makes it ideal for research and development departments, universities, government departments and storage / hosting companies.
  • Preservation of Mac OS X meta data such as ACL's, resource forks and POSIX permissions.



  • Ensure digital assets are safe



LBackup fully supports multiple redundant encrypted backup sets. As such LBackup affords greater backup reliability by offering built-in support for the redundant distribution of encrypted backup sets across multiple computer systems.



Backup Jobs LBackup is Designed to Handle

  • LBackup is aimed at backing up the user data
    • eg. /Users on a Mac OS X client, an AFP share point on a Mac OS X server, /srv/www on a Ubuntu system configured as a web server)
  • LBackup has a fucus on multi-desintation backup
    • LBackup fully supports backup to encrypted sparse bundles on Mac OS X. One approach to multi-destination backup is a post script which uses rsync or LBackup to copy or update changes to multiple destination systems.



LBackup Support

The first port of call for LBackup support is the discussion mailing list. If you are having a problem, sign up and ask a question.

Free and paid support options are outlined in further detail on the LBackup support page. If you require (on-site or remote) assistance with the setup, configuration or maintenance of LBackup you will find people and organizations who are ready to help.

Lucid, is one company who sponsors and offers support for LBackup. In addition, Lucid also offers digital information processing, and storage consultation services. If you are looking for a managed storage or backup solution, then visit the pro storage page.

LBackup Features at a Glance



Alternatives to LBackup

Although LBackup is a great backup software, it is not going to be the right tool in every situation. It is important to pick the right tool for the job. The alternatives page offers a list of other backup solutions which may meet your requirements more closely.

LBackup Features in Depth



Designed for User Data Backup

LBackup is designed to perform backups of user data.

Although full system backups are possible by utilizing the post script feature, LBackup is not specifically designed to perform bootable Mac OS X system backups. Further information regarding the creation of bootable Mac OS X backups is available from the full system backup page.

License

LBackup is licensed under the GNU GPL.


Image copyright©2005 Aurelio A. Heckert. Copyleft: this work of art is free,
you can redistribute it and/or modify it according to terms of the Free Art license.


Full Backup Tree / Hard Links

LBackup creates snap-shot trees using hard-links to save disk space. A snap-shot tree is a collection of file system snap-shots each of which mirror the backup path at specific points in time.

An advantage of a snap-shot trees is that it is very quick to located files or directories when preforming a restore.

Archiving, of snap-shots may be enabled as a separate step if you require a backup archive. This step can be automated with post scripts. If you are looking for a backup tool which generically supports the creation archives then consider rdiff-backup.

The tree backup structure makes the creation of backup chains simple.

This write-up explains some other approach's for performing Full Backup Tree / Hard Link backups.

To learn more about the restore of files from a snapshot visit the restore page.

Encryption

LBackup supports the backup of FileVault data to multiple encrypted disk images.

It is possible to configure LBackup to store backups in encrypted independent redundant images. These encrypted images may reside on local media which is then manually taken off site. Alternatively, the data may be transported off site automatically via SSH.

  • SSH provides encryption for all data transferred across a network or set of networks.
  • Encryption of data (source or destination) may be encrypted using a variety of on the fly encryption systems.

View further information on LBackup encryption

LBackup also supports various other software and hardware encryption systems.


Reporting

LBackup includes a built-in email reporting functionality. However, there are alternative reporting systems readily available if you would prefer not to use an email backed for your backup reports. These alternatives are particularity useful if you are deploying multiple backup servers which are each configured with thousands individual network backups.


Email Reporting

Email reporting is ideal if you are managing a handful of backups. Log files are generated whenever a backup occurs. These logs are emailed to an address specified in the mail configuration file. If an error occurs during a backup then the log file will immediately be sent to the email address specified in the mail configuration file. Alternatively, log files may be emailed at predefined times though scheduling tools such as CRON or LaunchD.

Reports arriving via emails may be processed by log checking scripts which may intern generate and flag logs for later analysis. Such scripts can also be set to listen and expect reports. If these reports are not received then an administrator may be notified.

View further information on LBackup reporting


RSync Back-end

LBackup copies files between devices using rsync. LBackup is a wrapper to rsync. The LBackup configuration files make it quick and easy to specify a backup and to then automate this backup with a scheduling program such as CRON, LaunchD, Anacron or some other scheduler.



Mac OS X Meta Data Support

LBackup supports the preservation of various Mac OS X specific metadata such as ACL's and resource forks, provided the backup has configuration conforms with the following criteria :

However, keep in mind that you must always test your backups, to ensure that the data required by your backup policy is preserved and that you also understand how to restore the data.



Pre and Post Actions

LBackup provides pre and post hook scripts for each backup configuration. This allows you to mount backup drives or source drives as required. As well as the ability to perform any other actions before or after a backup takes place. It is important to note the security implications of this feature. Make sure that the configuration files and folders are only writable by authorized system administrators.





Dynamic Multi-Destination Support

LBackup supports dynamic destination backup via a vast array of scripting languages. This means that with LBackup you have great control over the destination of your backups. LBackup may be configured to backup to multiple local and remote destinations. If you require a remote backup location then Lucid offers remote backup services.

You can configure LBackup to cycle though multiple backup destinations, backup to all destinations, backup only to destinations which are currently available or which currently have the best attributes such as highest data transfer speeds.



Automation

LBackup is able to be configured so that it runs automatically. This is accomplished by utilizing a scheduling utility, such as CRON or LaunchD. Using LaunchD to initiate backups means that a variety of system events may act as a trigger. For example you may want to initiate a backup begin when a hardware device is connected, detected or mounted; as discussed in the articles listed below.



Below are a couple of OS X GUI interfaces for the scheduling utilities mentioned above.


If you are new to cron below is a link to helpful website which will introduce you to cron and assist with setting up schedules :

  • crontab-gui (excellent web based interface for scheduling jobs via cron)


On the topic of automation, Anacron utility which will check to see if there are any scheduled jobs which are outstanding (have not been run). This may be useful if you have scheduled tasks set on machine which is not running 24/7. Mac OS X users you may want to use the Anacron package installer. Details regarding the use of Anacron and LBackup is available on the Anacron page.

Finally, the network backup page contains information on leveraging an SSH Agent in conjunction with Cron to configure automated backups.





Why Open Source Backup?

Using an open source back up solution means that the software may be freely customized to suite your requirements.



Open source backup is further discussed in this artilce published by Infostor.



Development History

LBackup was originally developed by Lucid Information Systems. Development started in 2001 before Lucid was officially formed. In August 2007 LBackup was re-released under the GNU GPL.

Today LBackup is maintained by the LBackup team.

Trying to find reliable backup solutions was one of the reasons Lucid Information Systems was originally founded.

Lucid continues to host the primary download mirror and also the LBackup documentation. In addition, various people working with Lucid are contributors to the LBackup project.