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