个人工具

UbuntuHelp:BackupYourSystem

来自Ubuntu中文

Wikibot讨论 | 贡献2010年5月19日 (三) 21:40的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索


Introduction

Backup is essential. Without it, data is entirely exposed to loss under a number of circumstances such as drive failure or data corruption. Users often only learn this lesson after critical information they require is permanently lost. Attempting to | recover from such data loss can be both time consuming and extremely troublesome. So learn from others mistakes, and ensure beforehand that you have a system in place that protects your data and suits your needs. Backing up files can be accomplished either from a graphical user interface (GUI) or by issuing commands to the command line interface (CLI). It doesn't matter which method you employ, so long as it works for you and you do it on a regular basis. To make sure it's regular, it's best to ensure your method is scheduled so you don't need to remember to do it.

Types of Backup

It is important to note that there are several means of backup, the two primary means being folder synchronization and the creation of archives. Folder synchronization is a means to ensure two different folders at two locations hold the same data. The synchronization is usually modified by certain rules, such as directing the program to only write new files. It is most useful for multimedia files that will not benefit from compression. The reason for this is that during encoding of such media near maximal compression is usually achieved with the codec. Creating an archive is mainly used for long-term storage, primarily of configuration files and documents. These will benefit greatly from the compression of gzip or bzip2 because the documents aren't stored in compressed formats. Since the size required on disk is much smaller than storing copies of multimedia files, users often create numerous full backups allowing them to go back and restore files from certain dates. A third alternative is called drive imaging. Drive imaging is similar to the creation of archives, except that instead of copying just folders and files, the entire partition that is selected is backed up to an archive byte for byte. Such archives are useful, in the case of a hard drive failure, entire partitions can be restored quickly to a new hard drive and work resumed. WARNING: Backups such as drive imaging work at a low level and if improperly used can result in severe data loss, especially with a command line program like dd. Ensure you understand what is being done! One final note, some file systems support versioning (snapshots at time intervals), which allows you to see all changes to a file. This is a local backup, but will do nothing in the case of drive failure. See the appropriate section for a discussion.

Backup From a Graphical User Interface

GUIs offer a graphical interface from which a user can choose from a limited selection of options to customize operation. There are also usually configured defaults and guides that help in selecting the right options. There are a few to choose from, below you'll find several good choices that work well.

Simple Backup Suite

Simple Backup Suite is a program designed for desktop users. Its purpose is succinctly summarized by its title, to be a simple backup suite. It is easily installed from the repositories and comes with defaults already loaded and configured. From there you can customize what directories it backs up, what it excludes, schedule it to certain times and manage old archives. This suite creates archives, keep that in mind during use. For a thorough guide to installation and general use, please see SimpleBackupSuite.

grsync

The program grsync is simply a GUI front end for the CLI utility rsync. It presents a clean yet simple interface for controlling the synchronization between two folders. It also supports multiple sessions (otherwise called profiles) and many of the commonly used basic and advanced options for modifying the synchronization. For more information see the rsync|page.

Backup From the Command Line

CLI's primary advantage over a GUI is that it exposes directly to you many more options. With that however comes the obligation of knowing exactly before hand what you want to do. There are no defaults with commands it's entirely up to the user to set the desired options. To better acquaint yourself beforehand, it is advisable that you read UsingTheTerminal.

Creating an Archive

When backing up from the command line tar is often used. The tar command creates an archive file, which can then be further compressed by gzip or bzip2 to decrease the size it occupies on the disk. A full explanation of this command, including how to backup, restore and how to operate over a network among other things can be found at BackupYourSystem/TAR.

rsync

Rsync updates and copies the files that have changed and even then only transfers the parts of those files that have changed. That is useful for saving bandwidth when backing up over the network. For safety, transfer between two machines is done via SSH. Rsync is especially good for backing up home directories. For a full explanation, there is a separate page about rsync. As a companion, the article on SSH is worthwhile reading for those wanting to backup over a network.

dump/restore

A CLI tool used to dump (as name implies) data from a drive to another location. Useful for backups when things are really going wrong on a system, supports incremental backup and is fairly fast. For more information please see its homepage. A good amount of information on its operation is located within its man page, available the usual way or online.

Backup Destination on a Remote Machine

Simple Backup Suite

SimpleBackupSuite

Duplicity

DuplicityBackupHowto

BackupPC

BackupPC

Drive Imaging

Drive Imaging is a complex topic, and a new article has been created for it. Please see that page for background information and instructions on how to create and restore images of folders or whole partitions.

Alternatives

Versioning File Systems

These will be very useful when they mature. For example, ext3cow file system states it, "provides a time-shifting interface that allows a real-time and continuous view of the past. This allows users to access their file system as it appeared at any point in time." This feature is automatic -- nothing (meaning no backups, manual copies, etc.) need be done to have this benefit when using a copy-on-write file system.

  • ext3cow (Last release: March 9, 2008)
  • Wayback (Last release: 2004-06-26)
  • CopyFS (is unmaintained)
  • B-tree FS (not yet stable - April 2010)
  • ZFS (no native filesystem in ubuntu)

They let you see every change to a file over its life span, but offer no protection against a hard drive that fails. These projects are therefore complimentary to the backups described above, which offer snapshots or synchronization that can be stored on other hard drives or even other locations on a network. Versioning tools such as Subversion could also be useful while we wait for versioning file systems to become mature and fully supported.

Early Stage Ideas

In addition to that already discussed, there are projects still in development that you may wish to keep appraised of or even participate in.

  • Ubuntu:ContinuousBackups
  • Ubuntu:HomeUserBackup
  • Ubuntu:MigrateAndBackup
  • Ubuntu:BackupOfPackageUserData
  • Ubuntu:UbuntuDownUnder/BOFs/SimpleBackupSolution
  • Ubuntu:SessionBackup

Related Links

You might also want to check out these backup programs which will help you to make automated backups of your system:

A comparison of graphical backup tools for Linux desktop. Other wiki discussing various Linux backup techniques:

See the full discussion in these threads on the Ubuntu forums:

"Backup and Restore Your Ubuntu System using Sbackup" has nice step-by-step instructions (with screenshots) of using sbackup. A personal blog listing many open source backup solutions: List of Free Open Source Linux and Ubuntu Backup Software