Very efficient backup system based on the git packfile format, providing fast
incremental saves and global deduplication (among and within files, including
virtual machine images). Some of its features are:
* It uses a rolling checksum algorithm and hence it can backup huge files
* It uses packfile format from git, so one can access the stored data even if
he doesn't like bup's user interface.
* It writes packfiles directly so it is fast even with huge amounts of data:
it can track millions of files and keep track of hundreds or thousands of
gigabytes of objects.
* Data is "automagically" shared between incremental backups without having to
know which backup is based on which other one.
* One can make a backup directly to a remote bup server, without needing tons
of temporary disk space on the computer being backed up. If the backup is
interrupted halfway through, the next run will pick up where the previous
backup left off.
* It can use "par2" redundancy to recover corrupted backups even if the disk
has undetected bad sectors.
* Each incremental backup acts as if it's a full backup, it just takes less
* One can mount a bup repository as a FUSE filesystem and access the contents
that way, or even export it over Samba.
bup bup is a program for making backups of your files using the git file format. Unlike git(1) itself, bup is optimized for handling huge data sets including... bup-bloom bup bloom builds a bloom filter file for a bup repository. If one already exists, it checks the filter and updates or regenerates it as needed. bup-cat-file bup cat-file extracts content associated with path from the archive and dumps it to standard output. If nothing special is requested, the actual data contained... bup-daemon bup daemon is a simple bup server which listens on a socket and forks connections to bup mux server children. bup-damage Use bup damage to deliberately destroy blocks in a .pack or .idx file (from .bup/objects/pack) to test the recovery features of bup-fsck(1) or other programs... bup-drecurse bup drecurse traverses files in the filesystem in a way similar to find(1). In most cases, you should use find(1) instead. This program is useful mainly for... bup-fsck bup fsck is a tool for validating bup repositories in the same way that git fsck validates git repositories. It can also generate and/or use "recovery blocks"... bup-ftp bup ftp is a command-line tool for navigating bup repositories. It has commands similar to the Unix ftp(1) command. The file hierarchy is the same as that shown... bup-fuse bup fuse opens a bup repository and exports it as a fuse(7) userspace filesystem. This feature is only available on systems (such as Linux) which support FUSE... bup-gc bup gc removes (permanently deletes) unreachable data from the repository, data that isn't referred to directly or indirectly by the current set of branches... bup-help bup help <command> opens the documentation for the given command. This is currently equivalent to typing man bup-<command>. bup-import-duplicity bup import-duplicity imports all of the duplicity backups at source-url into bup via bup save -n save-name. The bup saves will have the same timestamps (via bup... bup-import-rdiff-backup bup import-rdiff-backup imports a rdiff-backup archive. The timestamps for the backups are preserved and the path to the rdiff-backup archive is stripped from... bup-index bup index manipulates the filesystem index, which is a cache of absolute paths and their metadata (atttributes, SHA-1 hashes, etc.). The bup index is similar in... bup-init bup init initializes your local bup repository. By default, BUP_DIR is ~/.bup. bup-join bup join is roughly the opposite operation to bup-split(1). You can use it to retrieve the contents of a file from a local or remote bup repository. The... bup-ls bup ls lists files and directories in your bup repository using the same directory hierarchy as they would have with bup-fuse(1). The top level directory... bup-margin bup margin iterates through all objects in your bup repository, calculating the largest number of prefix bits shared between any two entries. This number, n... bup-memtest bup memtest opens the list of pack indexes in your bup repository, then searches the list for a series of nonexistent objects, printing memory usage statistics... bup-meta bup meta creates, extracts, or otherwise manipulates metadata archives. A metadata archive contains the metadata information (timestamps, ownership, access... bup-midx bup midx creates a multi-index (.midx) file from one or more git pack index (.idx) files. Note: you should no longer need to run this command by hand. It gets... bup-mux bup mux is used in the bup client-server protocol to send both data and debugging/error output over the single connection stream. bup mux bup server might be... bup-newliner bup newliner is run automatically by bup. You shouldn't need it unless you're using it in some other program. Progress messages emitted by bup (and some other... bup-on bup on runs the given bup command on the given host using ssh. It runs a bup server on the local machine, so that commands like bup save on the remote machine... bup-prune-older bup prune-older removes (permanently deletes) all saves except those preserved by the various keep arguments detailed below. At least one keep argument must be... bup-random bup random produces a stream of pseudorandom output bytes to stdout. Note: the bytes are not generated using a cryptographic algorithm and should never be used... bup-restore bup restore extracts files from a backup set (created with bup-save(1)) to the local filesystem. The specified paths are of the form... bup-rm bup rm removes the indicated branches (backup sets) and saves. By itself, this command does not delete any actual data (nor recover any storage space), but it... bup-save bup save saves the contents of the given files or paths into a new backup set and optionally names that backup set. Note that in order to refer to your backup... bup-server bup server is the server side of a remote bup session. If you use bup-split(1) or bup-save(1) with the -r option, they will ssh to the remote server and run bup... bup-split bup split concatenates the contents of the given files (or if no filenames are given, reads from stdin), splits the content into chunks of around 8k using a... bup-tag bup tag lists, creates or deletes a tag in the bup repository. A tag is an easy way to retrieve a specific commit. It can be used to mark a specific backup for... bup-tick bup tick waits until time(2) returns a different value than it originally did. Since time() has a granularity of one second, this can cause a delay of up to one...