git-annex-fsck man page

git-annex-fsck ā€” find and fix problems

Synopsis

git annex fsck [path ...]

Description

With no parameters, this command checks the whole annex for consistency, and warns about or fixes any problems found. This is a good complement to git fsck.

With parameters, only the specified files are checked.

Options

--from=remote

Check a remote, rather than the local repository.

Note that by default, files will be copied from the remote to check their contents. To avoid this expensive transfer, and only verify that the remote still has the files that are expected to be on it, add the --fast option.

--fast

Avoids expensive checksum calculations (and expensive transfers when fscking a remote).

--incremental

Start a new incremental fsck pass. An incremental fsck can be interrupted at any time, with eg ctrl-c.

--more

Resume the last incremental fsck pass, where it left off.

Resuming may redundantly check some files that were checked before. Any files that fsck found problems with before will be re-checked on resume. Also, checkpoints are made every 1000 files or every 5 minutes during a fsck, and it resumes from the last checkpoint.

--incremental-schedule=time

This makes a new incremental fsck be started only a specified time period after the last incremental fsck was started.

The time is in the form "10d" or "300h".

Maybe you'd like to run a fsck for 5 hours at night, picking up each night where it left off. You'd like this to continue until all files have been fscked. And once it's done, you'd like a new fsck pass to start, but no more often than once a month. Then put this in a nightly cron job:

git annex fsck --incremental-schedule 30d --time-limit 5h

--numcopies=N

Override the normally configured number of copies.

To verify data integrity only while disregarding required number of copies, use --numcopies=1.

--all

Normally only the files in the currently checked out branch are fscked. This option causes all versions of all files to be fscked.

This is the default behavior when running git-annex in a bare repository.

--branch=ref

Operate on files in the specified branch or treeish.

--unused

Operate on files found by last run of git-annex unused.

--key=keyname

Use this option to fsck a specified key.

file matching options

The git-annex-matching-options(1) can be used to specify files to fsck.

--jobs=N -JN

Runs multiple fsck jobs in parallel. For example: -J4

--json

Enable JSON output. This is intended to be parsed by programs that use git-annex. Each line of output is a JSON object.

Options

See Also

git-annex(1)

git-annex-repair(1)

git-annex-expire(1)

Author

Joey Hess <id@joeyh.name>

Referenced By

git-annex(1), git-annex-dead(1), git-annex-expire(1), git-annex-fix(1), git-annex-reinit(1), git-annex-reinject(1), git-annex-repair(1).