Skip to main content
usage: statbtrfs [-h] [-s | -w] [-i INTERVAL] [-m MAX_SCRUB_COUNT]
[-d EXCLUDE_RECENT_SCRUBBED_DAYS] [--scrub-command-lockout SCRUB_COMMAND_LOCKOUT]
[--color {auto,always,never}] [-V]
[pattern ...]

Check Btrfs filesystem status.

positional arguments:
pattern Patterns to filter btrfs mounts. Default="*"

options:
-h, --help show this help message and exit
-s, --scrub Issue scrub to all pools
-w, --watch Refresh every -i seconds while any scrub is running, then exit (never
starts scrubs)
-i, --interval INTERVAL
Interval for status check in seconds
-m, --max-scrub-count MAX_SCRUB_COUNT
Maximum number of scrubs running at the same time (0: one per CPU)
-d, --exclude-recent-scrubbed-days EXCLUDE_RECENT_SCRUBBED_DAYS
Exclude mounts scrubbed within this many days
--scrub-command-lockout SCRUB_COMMAND_LOCKOUT
Seconds to wait after starting a scrub before starting another
--color {auto,always,never}
Colour output: auto (default) on a terminal unless NO_COLOR is set
-V, --version show program's version number and exit

Exit status: 0 healthy; 1 problems found (device errors, scrub errors or missing devices); 2 the
check failed (no matching mounts, an unreadable filesystem, no root); 130 interrupted; 141 the
reader of stdout went away (| head).

Known limitation: when each btrfs command has to run through sudo, a missing btrfs shows as "Could not fetch
complete info … Skipping…" rather than "btrfs not found on PATH" (see docs/limitations.md).

Upgrading to 0.38 from 0.37:
- multiCMD 1.56 or newer is required (the embedded copy is 1.56).
- An unreadable filesystem now prints only the note under the table, "Could not fetch complete info for
<mounts>. Skipping...". The three lines before it ("Could not parse btrfs show info.", "Output from btrfs
filesystem show was:" and the raw output) are gone.
- statbtrfs | head, or any reader that exits early, now ends quietly with exit 141 (128 + SIGPIPE)
instead of a BrokenPipeError traceback and exit 1.
- Ctrl-C outside -s and -w (say while btrfs hangs on a dying device) exits 130 quietly instead of a
traceback.
- -s and -w clear the screen with ESC[H ESC[J, so a long run no longer pushes tables into the scrollback of
terminals that treat ESC[2J that way.
- Library callers: find_btrfs_mounts() takes no argument and execute_command(s) lose wait=.

Install:
sudo pip install statbtrfs

Development:
pip install -r requirements-dev.txt
pytest # unit tests (offline)
pytest --cov=statbtrfs --cov-fail-under=85
pytest -m live # optional status-only smoke on a btrfs host (as root)

Metadata

Release files for statbtrfs 0.38

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for statbtrfs 0.38
File Size Uploaded Provenance Actions
statbtrfs-0.38.tar.gz 54.6 kB Without provenance Details for statbtrfs-0.38.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for statbtrfs 0.38
File Interpreter ABI Platform Actions
statbtrfs-0.38-py3-none-any.whl Python 3 none any Details for statbtrfs-0.38-py3-none-any.whl

Total release size: 96.3 kB

Release files / statbtrfs-0.38.tar.gz

Download URL statbtrfs-0.38.tar.gz
Size 54.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f2478c42c5677305e561c5242e84178ed655c12a8da9ae2a82643bc4c62cc694
BLAKE2b-256 checksum
How to use checksums
47dbdfc2cae91e77fe504cd77c24e00d2b74c74a5aadcf8c3e664c29ddc5df99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / statbtrfs-0.38-py3-none-any.whl

Download URL statbtrfs-0.38-py3-none-any.whl
Size 41.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9d8aafb5a8c11970a43739aa535f2615a29641ff9aac93be9c873c9698d1d2a
BLAKE2b-256 checksum
How to use checksums
56bc83756b169486ff441b026e7b658910033b4bb96fad535fd5a5717bb8c94f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for statbtrfs 0.38

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page