]> arthur.barton.de Git - bup.git/blob - Documentation/bup-save.md
Merge branch 'master' of git://github.com/thatch/bup
[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 # EXAMPLE
104
105     $ bup index -ux /etc
106     Indexing: 1981, done.
107
108     $ bup save -r myserver: -n my-pc-backup --bwlimit=50k /etc
109     Reading index: 1981, done.
110     Saving: 100.00% (998/998k, 1981/1981 files), done.
111
112
113
114     $ ls /home/joe/chroots/httpd
115     bin var
116
117     $ bup index -ux /home/joe/chroots/httpd
118     Indexing: 1337, done.
119
120     $ bup save --strip -n joes-httpd-chroot /home/joe/chroots/httpd
121     Reading index: 1337, done.
122     Saving: 100.00% (998/998k, 1337/1337 files), done.
123
124     $ bup ls joes-httpd-chroot/latest/
125     bin/
126     var/
127
128
129     $ bup save --strip-prefix=/home/joe/chroots -n joes-chroots \
130          /home/joe/chroots/httpd
131     Reading index: 1337, done.
132     Saving: 100.00% (998/998k, 1337/1337 files), done.
133
134     $ bup ls joes-chroots/latest/
135     httpd/
136
137
138     $ bup save --graft /home/joe/chroots/httpd=/http-chroot \
139          -n joe
140          /home/joe/chroots/httpd
141     Reading index: 1337, done.
142     Saving: 100.00% (998/998k, 1337/1337 files), done.
143
144     $ bup ls joe/latest/
145     http-chroot/
146
147
148 # SEE ALSO
149
150 `bup-index`(1), `bup-split`(1), `bup-on`(1),
151 `bup-restore`(1), `ssh_config`(5)
152
153 # BUP
154
155 Part of the `bup`(1) suite.