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