Techniverse Community

Kutt Links Cleanup

Bash-Script zum automatischen Aufräumen anonymer Links in einer selbst gehosteten Kutt-Instanz.

🏰 Website · 📰 Community · 🐘 Mastodon · 💬 Support


## Was macht das Script? Anonyme Links (ohne Account erstellt) werden gelöscht, wenn sie beispielhaft seit **365 Tagen nicht mehr aufgerufen** wurden. Als Referenzdatum gilt: - Der **letzte Aufruf** (letzter Eintrag in der `visits`-Tabelle) - Falls der Link **nie aufgerufen** wurde: das **Erstelldatum** Links von eingeloggten Usern werden **nie** angefasst. ## Voraussetzungen - Kutt läuft als Docker-Setup mit einem PostgreSQL-Container namens `kutt-db` - Der ausführende User hat Zugriff auf `docker exec` ## Installation ### 1. Script ablegen ```bash mkdir -p /home/docker-projekte/kutt/scripts cp kutt-links-cleanup.sh /home/docker-projekte/kutt/scripts/ chmod +x /home/docker-projekte/kutt/scripts/kutt-links-cleanup.sh ``` ### 2. Cronjob einrichten Täglich um 03:00 Uhr ausführen: ```bash crontab -e ``` Folgende Zeile hinzufügen: ``` 0 3 * * * /home/docker-projekte/kutt/scripts/kutt-links-cleanup.sh >> /home/docker-projekte/kutt/scripts/cleanup.log 2>&1 ``` ## Verwendung ### Dry Run (nur anzeigen, nichts löschen) ```bash ./kutt-links-cleanup.sh --dry-run ``` Zeigt alle Links an, die gelöscht werden würden — ohne etwas zu verändern. ### Ausführen (Links löschen) ```bash ./kutt-links-cleanup.sh ``` ### Log prüfen ```bash cat /home/docker-projekte/kutt/scripts/cleanup.log ``` ## Konfiguration Die Variablen stehen am Anfang des Scripts: | Variable | Standard | Beschreibung | |---|---|---| | `CONTAINER` | `kutt-db` | Name des PostgreSQL-Containers | | `DB_USER` | `kutt` | Datenbank-Benutzer | | `DB_NAME` | `kutt` | Datenbank-Name | | `MAX_AGE_DAYS` | `365` | Tage ohne Zugriff bis zur Löschung | ## Technische Details - Gelöschte Links sind sofort aus der Kutt-Oberfläche verschwunden - Zugehörige Visit-Statistiken werden automatisch mitgelöscht (`ON DELETE CASCADE`) - Kutt nutzt Redis nur für Rate-Limiting, nicht als Link-Cache — es gibt kein Cache-Problem nach dem Löschen - Die freigewordenen Short-Link-Adressen können danach wieder vergeben werden

© Patrick Asmus · Techniverse Network · Lizenz