#! /bin/bash set -o nounset # Parametres CHEMIN=~/backup/ # ADD 1; If KEEP_LAST=5 => Only 4 will be kept KEEP_LAST=10 purge() { local FICHIER=$1 NEWER_THAN=$(ls -1t $CHEMIN/$FICHIER |sed -ne "${KEEP_LAST}p") if [[ ! -z "$NEWER_THAN" ]] then find $CHEMIN -depth -maxdepth 1 -type f -not -newer $(ls -1t $CHEMIN/$FICHIER |sed -ne "${KEEP_LAST}p") -name "$FICHIER" -delete fi } purge 'information_schema-*.sql.gz' purge 'mysql-*.sql.gz' purge 'performance_schema-*.sql.gz' purge 'zabbix-*.sql.gz'