From 188614872a73538cae0248986405514b04f66db1 Mon Sep 17 00:00:00 2001 From: dingenbohs Date: Thu, 20 Nov 2025 15:59:41 +0000 Subject: [PATCH] Add 'k3os/container_cleanup.sh' --- k3os/container_cleanup.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 k3os/container_cleanup.sh diff --git a/k3os/container_cleanup.sh b/k3os/container_cleanup.sh new file mode 100644 index 0000000..9b1d180 --- /dev/null +++ b/k3os/container_cleanup.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# ============================================================================== +# K3s Disk Cleaner +# Purpose: Prune unused container images and stopped containers to free disk space. +# ============================================================================== + +# Threshold: Only prune if disk usage is above this percentage (optional logic) +# Currently set to run unconditionally, but you can add checks using 'df'. + +echo "Starting K3s Cleanup Routine..." +echo "------------------------------------------------" + +# Check if crictl exists (standard in K3s/K3OS) +if ! command -v crictl &> /dev/null; then + echo "Error: crictl command not found." + exit 1 +fi + +echo "1. Removing stopped containers..." +# List stopped containers and remove them +# We suppress output for cleanliness, or remove > /dev/null to see details +crictl rm $(crictl ps -a | grep Exited | awk '{print $1}') 2>/dev/null + +if [ $? -eq 0 ]; then + echo " Stopped containers removed." +else + echo " No stopped containers found or error occurred." +fi + +echo "2. Pruning unused images..." +# This removes images not currently used by any container +crictl rmi --prune + +echo "------------------------------------------------" +echo "Disk Usage after cleanup:" +df -h /var/lib/rancher +echo "Done." \ No newline at end of file