1git-annex-fsck(1) General Commands Manual git-annex-fsck(1)
2
3
4
6 git-annex-fsck - find and fix problems
7
9 git annex fsck [path ...]
10
12 This command checks annexed files for consistency, and warns about or
13 fixes any problems found. This is a good complement to git fsck.
14
15 The default is to check all annexed files in the current directory and
16 subdirectories. With parameters, only the specified files are checked.
17
18 The problems fsck finds include files that have gotten corrupted, files
19 whose content has somehow become lost, files that do not have the con‐
20 figured number of copies yet made, and keys that can be upgraded to a
21 better format.
22
24 --from=remote
25
26 Check a remote, rather than the local repository.
27
28 Note that by default, files will be copied from the remote to
29 check their contents. To avoid this expensive transfer, and only
30 verify that the remote still has the files that are expected to
31 be on it, add the --fast option.
32
33 --fast Avoids expensive checksum calculations (and expensive transfers
34 when fscking a remote).
35
36 --incremental
37 Start a new incremental fsck pass. An incremental fsck can be
38 interrupted at any time, with eg ctrl-c.
39
40 --more Resume the last incremental fsck pass, where it left off.
41
42 Resuming may redundantly check some files that were checked
43 before. Any files that fsck found problems with before will be
44 re-checked on resume. Also, checkpoints are made every 1000
45 files or every 5 minutes during a fsck, and it resumes from the
46 last checkpoint.
47
48 --incremental-schedule=time
49 This makes a new incremental fsck be started only a specified
50 time period after the last incremental fsck was started.
51
52 The time is in the form "10d" or "300h".
53
54 Maybe you'd like to run a fsck for 5 hours at night, picking up
55 each night where it left off. You'd like this to continue until
56 all files have been fscked. And once it's done, you'd like a new
57 fsck pass to start, but no more often than once a month. Then
58 put this in a nightly cron job:
59
60 git annex fsck --incremental-schedule 30d --time-limit 5h
61
62 --numcopies=N
63 Override the normally configured number of copies.
64
65 To verify data integrity only while disregarding required number
66 of copies, use --numcopies=1.
67
68 --all -A
69 Normally only the files in the currently checked out branch are
70 fscked. This option causes all versions of all files to be
71 fscked.
72
73 This is the default behavior when running git-annex in a bare
74 repository.
75
76 --branch=ref
77 Operate on files in the specified branch or treeish.
78
79 --unused
80 Operate on files found by last run of git-annex unused.
81
82 --key=keyname
83 Use this option to fsck a specified key.
84
85 file matching options
86 The git-annex-matching-options(1) can be used to specify files
87 to fsck.
88
89 --jobs=N -JN
90 Runs multiple fsck jobs in parallel. For example: -J4
91
92 Setting this to "cpus" will run one job per CPU core.
93
94 --json Enable JSON output. This is intended to be parsed by programs
95 that use git-annex. Each line of output is a JSON object.
96
97 --json-error-messages
98 Messages that would normally be output to standard error are
99 included in the json instead.
100
102 git-annex(1)
103
104 git-annex-repair(1)
105
106 git-annex-expire(1)
107
109 Joey Hess <id@joeyh.name>
110
111 git-annex-fsck(1)