Nettoyer une arboressance

Bash   clean   tree  

Ce script rechercher les fichiers de plus de 30 jours et les effaces puis efface les dossiers vide.

#!/bin/sh
#
# Configuration
PWD_DIR=/home/ftp_users
TEMP_DIR=/tmp
LOG_SCRIPT=/var/log/menage_ftp.log
DATE_MAX_FICHIER=30
DATE_MAX_DOSSIER=30

# Fichiers temporaire
LISTEFICHIER=$TEMP_DIR/menagemail_listefichier
LISTEDOSSIER=$TEMP_DIR/menagemail_listedossier

# Recherche des fichiers
find /home/ftp_users/\*/\* -type f -mtime $DATE_MAX_FICHIER | sort -r $LISTEFICHIER

# Recherche des dossiers
find /home/ftp_users/\*/\* -type d -mtime $DATE_MAX_DOSSIER | sort -r $LISTEDOSSIER
cat  $LISTEDOSSIER | while read i; do
  $CONTENU_DOSSIER_USER=\`ls -a $i | sed -e " /\.$/d " | wc -l\`
  if [ $CONTENU_DOSSIER_USER -eq 0 ]; then
    echo " a " /dev/null
  else
    rm -fr $i
  fi
done