Package bup

Very efficient backup system based on the git packfile format

https://bup.github.io/

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
  incrementally.
* 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
  disk space.
* One can mount a bup repository as a FUSE filesystem and access the contents
  that way, or even export it over Samba.
General Commands (Section 1)
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-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-import-rsnapshot
bup import-rsnapshot [-n] <path to snapshot_root> [<backuptarget>]
bup-index
bup index prints and/or updates the bup filesystem index, which is a cache of the filenames, attributes, and sha-1 hashes of each file and directory in the...
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-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-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...