Skip to content

cross platform simple command line tool to check remaining disk space that is CI continuous integration friendly

Notifications You must be signed in to change notification settings

szazeski/checkfreespace

Repository files navigation

checkfreespace

a simple command line tool that checks the root of the system to see if it has 10% free disk space, if not it returns exit code 2 allowing CI to fail the build.

checkfreespace

/ on docker
 Free:    149 GB / 227 GB
 Percent: 65.64%
[PASS] Disk OK

checkfreespace -gb 50

/ on M1.lan
 Free:    24.6 GB / 228 GB
 Percent: 10.79%
[FAIL] Free disk space under 50.0GB

(exit code 2)

Options

-help gets you the available options and version

-gb 1.5 sets the pass rate if the system has at least 1.5GB of free space

-percent 2.5 sets the pass rate to 2.5% free (default is 10%)

-json converts output to json format: {"Filesystem":"","TotalGb":227,"FreeGb":149,"FreePercentage":65.63876651982379,"Hostname":"docker","Status":"[PASS] Disk OK","Passed":true}

-path / optionally overrides the default path to check free space on such as /mnt/usbdrive or D:

Installation

Mac Homebrew

brew install szazeski/tap/checkfreespace

Linux (and mac too)

wget https://github.com/szazeski/checkfreespace/releases/download/v1.0.3/checkfreespace_1.0.3_$(uname -s)_$(uname -m).tar.gz -O checkfreespace.tar.gz && tar -xf checkfreespace.tar.gz && chmod +x checkfreespace && sudo mv checkfreespace /usr/bin/

Windows (Powershell)

Invoke-WebRequest https://github.com/szazeski/checkfreespace/releases/download/v1.0.3/checkfreespace_1.0.3_Windows_x86_64.zip -outfile checkfreespace.zip; Expand-Archive checkfreespace.zip; echo "if you want, move the file to a PATH directory like WINDOWS folder"

then move to C:\Windows\ or other PATH directory

Syscall Issues

  • Windows doesn't have syscall.Statfs, makes a kernel32.dll call instead.
  • Mac has syscall.Statfs_t.Fstypename but linux and windows doesn't. It returns the partition type like apfs, currently the app just returns a blank string for filesystem.

About

cross platform simple command line tool to check remaining disk space that is CI continuous integration friendly

Topics

Resources

Stars

Watchers

Forks