diff --git a/ssh_manager.sh b/ssh_manager.sh index a444d17..369ceaf 100755 --- a/ssh_manager.sh +++ b/ssh_manager.sh @@ -80,6 +80,18 @@ show_menu() { } main() { + # Alte Logeinträge aus der Logdatei entfernen (basierend auf konfigurierbarem Zeitraum) + LOG_RETENTION_DAYS=7 + tmp_log="${LOG_FILE}.tmp" + cutoff_date=$(date -d "${LOG_RETENTION_DAYS} days ago" +'%Y-%m-%d %H:%M:%S') + awk -v cutoff="$cutoff_date" ' + match($0, /^\[[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 + } + ' "$LOG_FILE" > "$tmp_log" && mv "$tmp_log" "$LOG_FILE" + # Alte Logeinträge löschen, wenn älter als 7 Tage + find . -name "$LOG_FILE" -type f -mtime +7 -exec rm {} \; log "Skript gestartet." download_file extract_data