#!/bin/bash

SRC=/var/log/connections/lasts.tcpd
DST=/var/log/connections/archive
DATE=$(date "+%y%m%d-%H%M")
MAXSIZE=$((1024*1024*1024))  # 1 Go

mkdir -p "$DST"

# 1️⃣ Archivage IP en .txt
find "$SRC" -name "*.log" -mmin -30 \
  | xargs grepip \
  > "$DST/connections-$DATE.txt"

# 2️⃣ Archiver les logs dans un tar.gz
ARCHIVE="$DST/logs-$DATE.tar.gz"
find "$SRC" -name "*.log" -print0 | tar --null -czf "$ARCHIVE" --remove-files -T -

# 3️⃣ Vérifier la taille totale des archives et supprimer les plus anciennes si >1 Go
total_size=$(du -cb "$DST"/*.tar.gz 2>/dev/null | tail -1 | awk '{print $1}')

while [ "$total_size" -ge $MAXSIZE ]; do
    oldest=$(ls -1t "$DST"/*.tar.gz | tail -1)
    [ -f "$oldest" ] && rm -f "$oldest"
    total_size=$(du -cb "$DST"/*.tar.gz 2>/dev/null | tail -1 | awk '{print $1}')
done

