1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
|
% bup-save(1) Bup %BUP_VERSION%
% Avery Pennarun <apenwarr@gmail.com>
% %BUP_DATE%
# NAME
bup-save - create a new bup backup set
# SYNOPSIS
bup save [-r *host*:*path*] \<-t|-c|-n *name*\> [-#] [-f *indexfile*]
[-v] [-q] [\--smaller=*maxsize*] \<paths...\>;
# DESCRIPTION
`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 set later (i.e. for
restoration), you must either specify `--name` (the normal case), or
record the tree or commit id printed by `--tree` or `--commit`.
Before trying to save files using `bup save`, you should
first update the index using `bup index`. The reasons
for separating the two steps are described in the man page
for `bup-index`(1).
By default, metadata will be saved for every path, and the metadata
for any unindexed parent directories of indexed paths will be taken
directly from the filesystem. However, if `--strip`, `--strip-path`,
or `--graft` is specified, metadata will not be saved for the root
directory (*/*). See `bup-restore`(1) for more information about the
handling of metadata.
# OPTIONS
-r, \--remote=*host*:*path*
: save the backup set to the given remote server. If
*path* is omitted, uses the default path on the remote
server (you still need to include the ':'). The connection to the
remote server is made with SSH. If you'd like to specify which port, user
or private key to use for the SSH connection, we recommend you use the
`~/.ssh/config` file.
-t, \--tree
: after creating the backup set, print out the git tree
id of the resulting backup.
-c, \--commit
: after creating the backup set, print out the git commit
id of the resulting backup.
-n, \--name=*name*
: after creating the backup set, create a git branch
named *name* so that the backup can be accessed using
that name. If *name* already exists, the new backup
will be considered a descendant of the old *name*.
(Thus, you can continually create new backup sets with
the same name, and later view the history of that
backup set to see how files have changed over time.)
-d, \--date=*date*
: specify the date of the backup, in seconds since the epoch, instead
of the current time.
-f, \--indexfile=*indexfile*
: use a different index filename instead of
`$BUP_DIR/bupindex`.
-v, \--verbose
: increase verbosity (can be used more than once). With
one -v, prints every directory name as it gets backed up. With
two -v, also prints every filename.
-q, \--quiet
: disable progress messages.
\--smaller=*maxsize*
: don't back up files >= *maxsize* bytes. You can use
this to run frequent incremental backups of your small
files, which can usually be backed up quickly, and skip
over large ones (like virtual machine images) which
take longer. Then you can back up the large files
less frequently. Use a suffix like k, M, or G to
specify multiples of 1024, 1024\*1024, 1024\*1024\*1024
respectively.
\--bwlimit=*bytes/sec*
: don't transmit more than *bytes/sec* bytes per second
to the server. This is good for making your backups
not suck up all your network bandwidth. Use a suffix
like k, M, or G to specify multiples of 1024,
1024\*1024, 1024\*1024\*1024 respectively.
\--strip
: strips the path that is given from all files and directories.
A directory */root/chroot/etc* saved with "bup save -n chroot
\--strip /root/chroot" would be saved as */etc*. Note that
currently, metadata will not be saved for the root directory (*/*)
when this option is specified.
\--strip-path=*path-prefix*
: strips the given path prefix *path-prefix* from all
files and directories.
A directory */root/chroot/webserver/etc* saved with "bup save -n
webserver \--strip-path=/root/chroot /root/chroot/webserver/etc"
would be saved as */webserver/etc*. Note that currently, metadata
will not be saved for the root directory (*/*) when this option is
specified.
\--graft=*old_path*=*new_path*
: a graft point *old_path*=*new_path* (can be used more than
once).
A directory */root/chroot/a/etc* saved with "bup save -n chroot
\--graft /root/chroot/a=/chroot/a" would be saved as
*/chroot/a/etc*. Note that currently, metadata will not be saved
for the root directory (*/*) when this option is specified.
-*#*, \--compress=*#*
: set the compression level to # (a value from 0-9, where
9 is the highest and 0 is no compression). The default
is 1 (fast, loose compression)
# EXAMPLES
$ bup index -ux /etc
Indexing: 1981, done.
$ bup save -r myserver: -n my-pc-backup --bwlimit=50k /etc
Reading index: 1981, done.
Saving: 100.00% (998/998k, 1981/1981 files), done.
$ ls /home/joe/chroot/httpd
bin var
$ bup index -ux /home/joe/chroot/httpd
Indexing: 1337, done.
$ bup save --strip -n joes-httpd-chroot /home/joe/chroot/httpd
Reading index: 1337, done.
Saving: 100.00% (998/998k, 1337/1337 files), done.
$ bup ls joes-httpd-chroot/latest/
bin/
var/
$ bup save --strip-path=/home/joe/chroot -n joes-chroot \
/home/joe/chroot/httpd
Reading index: 1337, done.
Saving: 100.00% (998/998k, 1337/1337 files), done.
$ bup ls joes-chroot/latest/
httpd/
$ bup save --graft /home/joe/chroot/httpd=/http-chroot \
-n joe
/home/joe/chroot/httpd
Reading index: 1337, done.
Saving: 100.00% (998/998k, 1337/1337 files), done.
$ bup ls joe/latest/
http-chroot/
# SEE ALSO
`bup-index`(1), `bup-split`(1), `bup-on`(1),
`bup-restore`(1), `ssh_config`(5)
# BUP
Part of the `bup`(1) suite.
|