Compare commits

..

4 Commits

Author SHA1 Message Date
Stefan Mewes 270f2fca0c Typo 2025-09-17 14:29:33 +02:00
Stefan Mewes 3fcc434510 zt container sicherstellen 2025-09-17 14:29:06 +02:00
StefanMewes 6175c38117 Logging: nur Einträge nach x Tagen werden gelöscht sonst nichts 2025-06-20 12:32:50 +02:00
StefanMewes 4272f5bc24 Logging nach 7 Tagen entfernt 2025-06-18 14:53:33 +02:00
3 changed files with 41 additions and 2 deletions
+1
View File
@@ -6,3 +6,4 @@ Nützliche Skripte
|----------|----------| |----------|----------|
| `restic_env_erzeugen.sh` | Erzeugt Umgebungsvariablen `.env` muss im Ordner `/root` angelegt werden, danach: `restic init` und dann erst Backup durchführen | | `restic_env_erzeugen.sh` | Erzeugt Umgebungsvariablen `.env` muss im Ordner `/root` angelegt werden, danach: `restic init` und dann erst Backup durchführen |
| `ssh_manager.sh` | Zielsystem aussuchen und SSH Verbindung aufbauen, grafisches Menü| | `ssh_manager.sh` | Zielsystem aussuchen und SSH Verbindung aufbauen, grafisches Menü|
| `ensure_zerotier.sh` | stellt sicher dass der Container `zerotier` läuft |
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash
set -euo pipefail
CONTAINER_NAME="zerotier"
# Prüfen, ob der Container existiert
if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}\$"; then
echo "Container '${CONTAINER_NAME}' existiert."
else
echo "Container '${CONTAINER_NAME}' existiert nicht!"
exit 1
fi
# Prüfen, ob der Container läuft
if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}\$"; then
echo "Container '${CONTAINER_NAME}' läuft bereits."
else
echo "Container '${CONTAINER_NAME}' läuft nicht starte ihn..."
docker start "${CONTAINER_NAME}"
fi
+19 -1
View File
@@ -5,13 +5,29 @@ FILE_URL="http://fileserver.fritz.box/Mobaxterm/Homelab.mxtsessions"
INPUT_FILE="Homelab.mxtsessions" INPUT_FILE="Homelab.mxtsessions"
OUTPUT_FILE="serverliste.csv" OUTPUT_FILE="serverliste.csv"
LOG_FILE="script.log" LOG_FILE="script.log"
LOG_RETENTION_DAYS=2 # Log-Einträge älter als X Tage werden entfernt
log() { log() {
echo "[$(date +"%Y-%m-%d %H:%M:%S")] $1" | tee -a "$LOG_FILE" echo "[$(date +"%Y-%m-%d %H:%M:%S")] $1" | tee -a "$LOG_FILE"
} }
clean_old_logs() {
tmp_log="${LOG_FILE}.tmp"
cutoff_date=$(date -d "-${LOG_RETENTION_DAYS} days" +'%Y-%m-%d %H:%M:%S')
awk -v cutoff="$cutoff_date" '
/^\[[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\]/ {
timestamp = substr($0, 2, 19)
if (timestamp >= cutoff) print $0
next
}
# Alle anderen Zeilen behalten (auch ohne Zeitstempel)
{ print $0 }
' "$LOG_FILE" > "$tmp_log" && mv "$tmp_log" "$LOG_FILE"
}
download_file() { download_file() {
rm -f Homelab.mxtsessions* 2>/dev/null rm -f "$INPUT_FILE" 2>/dev/null
if wget -q "$FILE_URL" -O "$INPUT_FILE"; then if wget -q "$FILE_URL" -O "$INPUT_FILE"; then
log "Datei erfolgreich heruntergeladen." log "Datei erfolgreich heruntergeladen."
else else
@@ -80,6 +96,8 @@ show_menu() {
} }
main() { main() {
[[ -f "$LOG_FILE" ]] && clean_old_logs
log "Skript gestartet." log "Skript gestartet."
download_file download_file
extract_data extract_data