]> arthur.barton.de Git - bup.git/blob - Documentation/bup-gc.md
Merge web GET fix and SIGTERM and unix:// support
[bup.git] / Documentation / bup-gc.md
1 % bup-gc(1) Bup %BUP_VERSION%
2 % Rob Browning <rlb@defaultvalue.org>
3 % %BUP_DATE%
4
5 # NAME
6
7 bup-gc - remove unreferenced, unneeded data (CAUTION: EXPERIMENTAL)
8
9 # SYNOPSIS
10
11 bup gc [-#|--verbose] <*branch*|*save*...>
12
13 # DESCRIPTION
14
15 `bup gc` removes (permanently deletes) unreachable data from the
16 repository, data that isn't referred to directly or indirectly by the
17 current set of branches (backup sets) and tags.  But bear in mind that
18 given deduplication, deleting a save and running the garbage collector
19 might or might not actually delete anything (or reclaim any space).
20
21 With the current, proababilistic implementation, some fraction of the
22 unreachable data may be retained.  In exchange, the garbage collection
23 should require much less RAM than might by some more precise
24 approaches.
25
26 Typically, the garbage collector would be invoked after some set of
27 invocations of `bup rm`.
28
29 WARNING: This is one of the few bup commands that modifies your archive
30 in intentionally destructive ways.
31
32 # OPTIONS
33
34 \--threshold=N
35 :   only rewrite a packfile if it's over N percent garbage; otherwise
36     leave it alone.  The default threshold is 10%.
37
38 -v, \--verbose
39 : increase verbosity (can be used more than once).  With one -v, bup
40     prints every directory name as it gets backed up.  With two -v,
41     it also prints every filename.
42
43 -*#*, \--compress=*#*
44 :   set the compression level to # (a value from 0-9, where
45     9 is the highest and 0 is no compression).  The default
46     is 6.
47
48 # EXAMPLES
49
50     # Remove all saves of "home" and most of the otherwise unreferenced data.
51     $ bup rm home
52     $ bup gc
53
54 # SEE ALSO
55
56 `bup-rm`(1) and `bup-fsck`(1)
57
58 # BUP
59
60 Part of the `bup`(1) suite.