bloc_note
Ceci est une ancienne révision du document !
Bloc Note rapide
#!/bin/bash DOSSIER="/confsite/tk/" ARCHIV_JOURS=365 # nombre de jours d'archive 1 an MAINTENANT=$(date +%s) function purge(){ fichier=$1 prefixe=$2 annee=$3 mois=$4 jour=$5 heure=$6 minute=$7 # echo "Traitement du fichier : $fichier $prefixe $annee $mois $jour" # 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 # echo "OK On concerve les fichiers du mois en cours : $fichier" continue fi # Conserver un fichier par mois pour les mois précédents if [[ ! -f "$DOSSIER/Sauvegarde_config_${prefixe}_${annee}_${mois}_01_00h00.tar.gz" ]] ; then mv $fichier "$DOSSIER/Sauvegarde_config_${prefixe}_${annee}_${mois}_01_00h00.tar.gz" continue else if [[ ! $minute = "00" ]] && [[ ! $heure = "00" ]]; then echo "Ce fichier doit etre supprimé : $fichier $heure $minute" mv $fichier /confsite/tk/poubelle/ -f fi fi # Supprimer les fichiers de plus de $ARCHIV_JOURS if [[ "$diff_jours" -gt $ARCHIV_JOURS ]]; then # echo "Deplacement du fichier $fichier dans la poubelle" mv $fichier /confsite/tk/poubelle/ -f fi } find "$DOSSIER" -maxdepth 1 -name 'Sauvegarde_config_*_*.tar.gz' | while read -r fichier; do # Extraire le préfixe et la date du fichier # Sauvegarde_config_tkvll_Valladolid_TK1_2025_05_12_02h17.tar.gz if [[ $fichier =~ Sauvegarde_config_([^_]+)_([^_]+)_TK([1-2]{1})_([0-9]{4})_([0-9]{2})_([0-9]{2})_([0-9]{2})h([0-9]{2})\.tar\.gz ]]; then #echo "Traitement du fichier : $fichier" prefixe="${BASH_REMATCH[1]}_${BASH_REMATCH[2]}_TK${BASH_REMATCH[3]}" annee="${BASH_REMATCH[4]}" mois="${BASH_REMATCH[5]}" jour="${BASH_REMATCH[6]}" heure="${BASH_REMATCH[7]}" minute="${BASH_REMATCH[8]}" purge $fichier $prefixe $annee $mois $jour $heure $minute else #Sauvegarde_config_tklha_Sandouville_1_TK1_2024_12_26_02h17.tar.gz if [[ $fichier =~ Sauvegarde_config_([^_]+)_([^_]+)_([^_]+)_TK([1-2]{1})_([0-9]{4})_([0-9]{2})_([0-9]{2})_([0-9]{2})h([0-9]{2})\.tar\.gz ]]; then #echo "Traitement du fichier : $fichier" prefixe="${BASH_REMATCH[1]}_${BASH_REMATCH[2]}_${BASH_REMATCH[3]}_TK${BASH_REMATCH[4]}" annee="${BASH_REMATCH[5]}" mois="${BASH_REMATCH[6]}" jour="${BASH_REMATCH[7]}" heure="${BASH_REMATCH[8]}" minute="${BASH_REMATCH[9]}" purge $fichier $prefixe $annee $mois $jour $heure $minute else #Sauvegarde_config_tkcvp_TK1_2022_05_01_02h17.tar.gz if [[ $fichier =~ Sauvegarde_config_([^_]+)_TK([1-2]{1})_([0-9]{4})_([0-9]{2})_([0-9]{2})_([0-9]{2})h([0-9]{2})\.tar\.gz ]]; then #echo "Traitement du fichier : $fichier" prefixe="${BASH_REMATCH[1]}_TK${BASH_REMATCH[2]}" annee="${BASH_REMATCH[3]}" mois="${BASH_REMATCH[4]}" jour="${BASH_REMATCH[5]}" heure="${BASH_REMATCH[6]}" minute="${BASH_REMATCH[7]}" purge $fichier $prefixe $annee $mois $jour $heure $minute else echo " error Le fichier $fichier n'a pas le bon prefix" fi fi fi done
bloc_note.1747118629.txt.gz · Dernière modification : 2025/05/13 08:43 de admin