Outils pour utilisateurs

Outils du site


bloc_note

Ceci est une ancienne révision du document !


Bloc Note rapide

#!/bin/bash

DOSSIER="chemin/vers/votre/dossier"
MAINTENANT=$(date +%s)

find "$DOSSIER" -name 'fichier_*_*.tar.gz' | while read -r fichier; do
    # Extraire le préfixe et la date du fichier
    if [[ $fichier =~ fichier_([^_]+)_([0-9]{4})_([0-9]{2})_([0-9]{2})_[0-9]{2}h[0-9]{2}\.tar\.gz ]]; then
        prefixe="${BASH_REMATCH[1]}"
        annee="${BASH_REMATCH[2]}"
        mois="${BASH_REMATCH[3]}"
        jour="${BASH_REMATCH[4]}"

        # Convertir la date du fichier en timestamp
        date_fichier=$(date -d "$annee-$mois-$jour" +%s)

        # Calculer la différence en jours
        diff_jours=$(( (MAINTENANT - date_fichier) / 86400 ))

        # Obtenir le mois et l'année actuels
        mois_actuel=$(date +%m)
        annee_actuelle=$(date +%Y)

        # Conserver tous les fichiers du mois en cours
        if [[ "$annee" -eq "$annee_actuelle" && "$mois" -eq "$mois_actuel" ]]; then
            continue
        fi

        # Conserver un fichier par mois pour les mois précédents
        if [[ ! -f "$DOSSIER/dernier_${prefixe}_${annee}_${mois}" ]]; then
            touch "$DOSSIER/dernier_${prefixe}_${annee}_${mois}"
            continue
        fi

        # Supprimer les fichiers de plus de 2 ans
        if [[ "$diff_jours" -gt 730 ]]; then
            echo "Suppression de $fichier"
            rm "$fichier"
        fi
    fi
done

# Supprimer les fichiers temporaires de suivi
rm -f "$DOSSIER"/dernier_*

bloc_note.1747048462.txt.gz · Dernière modification : 2025/05/12 13:14 de admin