From 71ee4aa73c710d811858765ce35ad066c90fbf8f Mon Sep 17 00:00:00 2001 From: alvin Date: Thu, 1 Oct 2026 13:26:30 +0200 Subject: [PATCH] Add cleanup-apt-backups-lxcs.sh --- cleanup-apt-backups-lxcs.sh | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 cleanup-apt-backups-lxcs.sh diff --git a/cleanup-apt-backups-lxcs.sh b/cleanup-apt-backups-lxcs.sh new file mode 100644 index 0000000..c97a1ae --- /dev/null +++ b/cleanup-apt-backups-lxcs.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +set -u + +echo +echo "========================================" +echo " APT Backup Cleanup Script" +echo "========================================" +echo + +for CTID in $(pct list | awk 'NR>1 {print $1}'); do + + STATUS=$(pct status "$CTID" 2>/dev/null | awk '{print $2}') + NAME=$(pct config "$CTID" 2>/dev/null | awk -F': ' '/^hostname:/ {print $2}') + + echo "----------------------------------------" + echo "Container: $CTID${NAME:+ ($NAME)}" + echo "Status: $STATUS" + + if [[ "$STATUS" != "running" ]]; then + echo "SKIP: Container is not running." + continue + fi + + OS_ID=$(pct exec "$CTID" -- sh -c \ + '. /etc/os-release 2>/dev/null && echo "$ID"' \ + 2>/dev/null || true) + + if [[ "$OS_ID" != "debian" ]]; then + echo "SKIP: Not Debian." + continue + fi + + echo "Cleaning APT backup files..." + + pct exec "$CTID" -- sh -c ' + rm -f "/etc/apt/apt.conf.d/01proxy.backup-\$(date +%Y%m%d-%H%M%S)" + rm -f /etc/apt/sources.list.d/docker.sources.bak-* + rm -f /etc/apt/sources.list.d/docker.list.bak-* + ' + + echo "OK: Cleanup complete." + echo +done + +echo "========================================" +echo " Finished" +echo "========================================" \ No newline at end of file