--- title: About the filesystem Resource platform: linux --- # filesystem Use the `filesystem` Chef InSpec resource to audit filesystem disk space usage.
## Availability ### Installation This resource is distributed along with Chef InSpec itself. You can use it automatically. ### Version This resource first became available in v1.51.0 of InSpec. The `free_kb`, `size_kb`, and `type` properties became available in v3.6 of InSpec. ### Note Versions of this resource in Chef InSpec prior to 3.5.x offered a property `size`, which returned a value in GB when on Windows and a value in KB on Linux, though it was documented to always return KB. All new code should use `size_kb` which is unit-stable. The property `size` will remain available in Chef InSpec v3 and 4, but will be deprecated in the future. ## Syntax A `filesystem` resource block declares tests for disk space in a partition: describe filesystem('/') do its('size_kb') { should be >= 32 * 1024 * 1024} its('free_kb') { should be >= 50 * 1024 } its('percent_free') { should be >= 20 } its('type') { should cmp 'ext4' } end where * `filesystem('/')` states that the resource will look at the root (/) partition. * `size_kb` is the total partition size and is measured in kilobytes (KB). * `free_kb` is the available space on the partition and is measured in kilobytes (KB). * `percent_free` is the percentage of available free space, and ranges from 0 to 100.
## Resource Property Examples The following examples show how to use this Chef InSpec audit resource. ### Test if the root partition is greater than 32000 KB describe filesystem('/') do its('size_kb') { should be >= 32000 } end
### Test that the root partition has more than 5GB free describe filesystem('/') do its('free_kb') { should be >= 5000000 } end
### Test if the C:\ partition is NTFS Note that Windows filesystems (drives) are referred to without any slashes: describe filesystem('c:') do its('type') { should cmp 'NTFS' } end
### Test if the /var partition has sufficient free space describe filesystem('/var') do its('percent_free') { should be >= 20 } end ## Matchers For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).