danstis / rmstale

rmstale is a tool to remove stale files recursively below a given directory. Files and folders older than a defined period are removed.
MIT License
3 stars 1 forks source link
chocolatey command-line-tool delete filesystem hacktoberfest management

rmstale

Build Chocolatey codecov Quality Gate Status

rmstale is a tool to remove stale files recursively below a given directory.
Files and folders older than a defined period are removed. A file is considered stale if it has not been modified in the last N days, where N is the value provided for the --age flag. This tool will also remove directories that are considered stale (older than the defined period) and are empty.

Some examples for use:

Install instructions

Install with Chocolatey

choco install rmstale

Install with Winget

winget install danstis.rmstale

Install on Linux

Visit the releases page to find the latest release version.

# Fetch the latest release tag from GitHub
latest_version=$(curl -s https://api.github.com/repos/danstis/rmstale/releases/latest | grep -Po '"tag_name": "\K.*?(?=")')
# Download the latest version tarball
curl -L -o rmstale.tar.gz "https://github.com/danstis/rmstale/releases/download/$latest_version/rmstale_${latest_version#v}_linux_amd64.tar.gz"
# Extract and install
sudo tar -xzf rmstale.tar.gz -C /usr/bin rmstale
# Cleanup
rm rmstale.tar.gz

Install rmstale manually

  1. From the GitHub releases page download the latest binary for your operating system.
  2. Place the downloaded file into your desired location.

Usage instructions

Command line flags

Flag Description
-a, --age Period in days before an item is considered stale.
-d, --dry-run Runs the process in dry-run mode. No files will be removed, but the tool will log the files that would be deleted.
-e, --extension Filter files for a defined file extension. This flag only applies to files, not directories.
-p, --path Path to a folder to process.
-v, --version Displays the version of rmstale that is currently running.
-y, --confirm Allows for processing without confirmation prompt, useful for scheduling.

Usage examples

>: rmstale --version

rmstale v1.2.3
>: rmstale --age 14 --path c:\temp
WARNING: Will remove files and folders recursively below 'c:\temp' older than 14 days. Continue?: y

-Removing 'C:\Temp\amc2E40.tmp.LOG1'...
-Removing 'C:\Temp\amc2E40.tmp.LOG2'...
-Removing 'C:\Temp\amc306D.tmp.LOG1'...
-Removing 'C:\Temp\amc306D.tmp.LOG2'...
-Removing 'C:\Temp\amc308D.tmp.LOG1'...

Any errors encountered during the deletion process (e.g., permission issues) will be logged.

GitHub project

Feedback, Issues, Bugs and Contribution to this tool are welcome.
For Bugs/Issues/Feature requests, please create an issue on the GitHub issues page.

Want to contribute? Great: