Difference between revisions of "Rdiff-backup"
imported>ChrisM (New page: == Introduction == rdiff-backup is a tool written in Python to create incremental backups which allow you to go back to any point of time (where you made a backup) and extract files from ...) |
imported>ChrisM |
||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
− | rdiff-backup is a tool written in Python to create incremental backups which allow you to go back to any point of time (where you made a backup) and extract files from then. Since rdiff-backup actually makes reverse-incremental backups, the latest state (created the last time you ran rdiff-backup) is accessable in plain text, which means: | + | rdiff-backup is a tool written in Python to create incremental backups which allow you to go back to any point of time (where you made a backup) and extract files from then. |
+ | |||
+ | Since rdiff-backup actually makes reverse-incremental backups, the latest state (created the last time you ran rdiff-backup) is accessable in plain text, which means: | ||
* If you want the latest version, you can just throw away the "rdiff-backup-data" folder containg meta information. | * If you want the latest version, you can just throw away the "rdiff-backup-data" folder containg meta information. | ||
* Going back in time takes longer, the more far back you want to go. | * Going back in time takes longer, the more far back you want to go. | ||
Line 9: | Line 11: | ||
rdiff-backup is available as a package for all major distributions, including Ubuntu, Debian, Gentoo, Fedora and (TODO!: probably, not checked because I have not access to any) OpenSuSE. | rdiff-backup is available as a package for all major distributions, including Ubuntu, Debian, Gentoo, Fedora and (TODO!: probably, not checked because I have not access to any) OpenSuSE. | ||
+ | |||
+ | == Usage == | ||
+ | |||
+ | Making a backup is very easy: | ||
+ | rdiff-backup source target | ||
+ | |||
+ | Both source and target can specify remote hosts (if doing so, the rsync algorithm is used to save bandwidth). For example, if I might want to save /home to a remote machine: | ||
+ | rdiff-backup /home/ user@backup-host:/var/backups/remote-home/ | ||
+ | |||
+ | If everythings works, [target] is madea an rdiff-backup location, which means, that the folder "rdiff-backup-data" should have been created there. From now on, you can use the above command to make a backup of the source, as often as you like. | ||
+ | |||
+ | To see, what backups there were created at a given target, run | ||
+ | rdiff-backup -l target | ||
+ | |||
+ | With | ||
+ | rdiff-backup --restory-as-of [time] [target] # Short: rdiff-backup -r [time] | ||
+ | you can extract a backup from [target] whereas [time] denotes the date of the backup you want to extract. These time strings are very flexible, you can give * "now" for the latest backup | ||
+ | * a time string in different formats, like YYYY-MM-DD, or even including hours, minutes or seconds | ||
+ | * a relative timestamp like "1W" which means "one week ago" (allowed: (s)econds, (m)inutes, (h)ours, (D)ays, (W)eeks, (M)onths, (Y)ears) | ||
+ | * seconds since Epoch. | ||
+ | |||
+ | == Going further == | ||
+ | |||
+ | There are a very lot of more options that can be used, to include or exclude files or directories having a certain pattern or attribute, getting statistics and changing verbosity or comparing different snapshots. | ||
+ | |||
+ | Just have a look at the man page: | ||
+ | man rdiff-backup |
Revision as of 18:56, 31 March 2009
Introduction
rdiff-backup is a tool written in Python to create incremental backups which allow you to go back to any point of time (where you made a backup) and extract files from then.
Since rdiff-backup actually makes reverse-incremental backups, the latest state (created the last time you ran rdiff-backup) is accessable in plain text, which means:
- If you want the latest version, you can just throw away the "rdiff-backup-data" folder containg meta information.
- Going back in time takes longer, the more far back you want to go.
- Deleting old "snapshots" is a very fast operation, because it involves only deleting the oldest diffs but not rebasing any diffs to other plain text content.
Installation
rdiff-backup is available as a package for all major distributions, including Ubuntu, Debian, Gentoo, Fedora and (TODO!: probably, not checked because I have not access to any) OpenSuSE.
Usage
Making a backup is very easy:
rdiff-backup source target
Both source and target can specify remote hosts (if doing so, the rsync algorithm is used to save bandwidth). For example, if I might want to save /home to a remote machine:
rdiff-backup /home/ user@backup-host:/var/backups/remote-home/
If everythings works, [target] is madea an rdiff-backup location, which means, that the folder "rdiff-backup-data" should have been created there. From now on, you can use the above command to make a backup of the source, as often as you like.
To see, what backups there were created at a given target, run
rdiff-backup -l target
With
rdiff-backup --restory-as-of [time] [target] # Short: rdiff-backup -r [time]
you can extract a backup from [target] whereas [time] denotes the date of the backup you want to extract. These time strings are very flexible, you can give * "now" for the latest backup
- a time string in different formats, like YYYY-MM-DD, or even including hours, minutes or seconds
- a relative timestamp like "1W" which means "one week ago" (allowed: (s)econds, (m)inutes, (h)ours, (D)ays, (W)eeks, (M)onths, (Y)ears)
- seconds since Epoch.
Going further
There are a very lot of more options that can be used, to include or exclude files or directories having a certain pattern or attribute, getting statistics and changing verbosity or comparing different snapshots.
Just have a look at the man page:
man rdiff-backup