The fsck.s3ql command


fsck.s3ql [options] <storage url>


The fsck.s3ql command checks the file system in the location specified by storage url for errors and attempts to repair any problems. The storage url depends on the backend that is used. The S3QL User’s Guide should be consulted for a description of the available backends.


The fsck.s3ql command accepts the following options.

--log <target> Destination for log messages. Specify none for standard output or syslog for the system logging daemon. Anything else will be interpreted as a file name. Log files will be rotated when they reach 1 MiB, and at most 5 old log files will be kept. Default: ~/.s3ql/fsck.log
--cachedir <path>
 Store cached data in this directory (default: ~/.s3ql)
--debug-modules <modules>
 Activate debugging output from specified modules (use commas to separate multiple modules). Debug messages will be written to the target specified by the --log option.
--debug Activate debugging output from all S3QL modules. Debug messages will be written to the target specified by the --log option.
--quiet be really quiet
--backend-options <options>
 Backend specific options (separate by commas). See backend documentation for available options.
--version just print program version and exit
--authfile <path>
 Read authentication credentials from this file (default: ~/.s3ql/authinfo2)
--compress <algorithm-lvl>
 Compression algorithm and compression level to use when storing new data. algorithm may be any of lzma, bzip2, zlib, or none. lvl may be any integer from 0 (fastest) to 9 (slowest). Default: lzma-6
--keep-cache Do not purge locally cached files on exit.
--batch If user input is required, exit without prompting.
--force Force checking even if file system is marked clean.
--force-remote Force use of remote metadata even when this would likely result in data loss.

Exit Codes

If fsck.s3ql found any file system errors (no matter if they were corrected or not), the exit code will be 128 plus one of the codes listed below. If no errors were found, the following exit codes are used as-is:

0:Everything went well.
1:An unexpected error occured. This may indicate a bug in the program.
2:Invalid command line argument or configuration file key.
3:Invalid backend option.
10:Could not open log file for writing.
11:No such backend.
12:Authentication file has insecure permissions.
13:Unable to parse proxy settings.
14:Invalid credentials (Authentication failed).
15:No permission to access backend (Authorization denied).
16:Invalid storage URL, specified location does not exist in backend.
17:Wrong file system passphrase.
18:No S3QL file system found at given storage URL.
19:Unable to connect to backend, can’t resolve hostname.
32:Unsupported file system revision (too old).
33:Unsupported file system revision (too new).
40:Cannot check mounted file system.
41:User input required, but running in batch mode.
42:File system check aborted by user.
43:Local metadata is corrupted.
44:Uncorrectable errors found.
45:Unable to access cache directory.
128:This error code will be added to one of the codes above if any file system errors have been found (no matter if they were corrected or not).

See Also

The S3QL homepage is at

The full S3QL documentation should also be installed somewhere on your system, common locations are /usr/share/doc/s3ql or /usr/local/doc/s3ql.