Suppression dossiers depuis membre d'un groupe
Bonjour,
Nouveau sur ce forum je vous remercie d'avance pour l'aide que vous pourrez me porter.
Problème :
Je souhaite supprimer tous les dossiers d'un répertoire sauf ceux des membres du groupe qui ont un répertoire qui porte leur nom. Je ne souhaite pas supprimer les dossiers commun à tous.
Comme j'ai plusieurs serveur de ce type et que les dossiers sont assez nombreux et différents en fonction des membres, je souhaite automatiser cette tache.
Début de solution:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #!/bin/sh
echo " Purge du /repertoire " && sleep 1 &&
echo "Tapez le nom de la ville " && read ville &&
echo "Tapez le nom du COMMUN en respectant la casse " && read commun &&
echo "Tapez le nom d'un dossier particulier à garder (ex: gestion)" && read dossier1 &&
echo "Tapez le nom d'un second dossier particulier à garder (ex: scan)" && read dossier2 &&
#recherche des membres du groupe et export vers ville.txt
getent group $ville | sed -e "s/,/ \n/g" |cut -d':' -f4 > /ville.txt
#ajout du commun au fichier ville.txt
echo $commun >> /ville.txt
#ajout du dossier1 au fichier ville.txt
echo $dossier1 >> /ville.txt
#ajout du dossier2 au fichier ville.txt
echo $dossier2 >> /ville.txt
#liste le nombre de ligne du fichier ville.txt
ligne=`wc -l /$ville.txt |cut -f1 -d' '`
echo " En comptant le commun et les dossiers spécifiques, voici le nombre de dossier à garder " && sleep 1 &&
echo $ligne
echo " On garde les dossiers suivants" && sleep 1 &&
cat /ville.txt
echo " le reste on supprime " && sleep 1 &&
ville=`cat /ville.txt` |
Je pensais donc faire un
Code:
find /repertoire -type d -path -name $ville -o -prune -exec rm -Rf {} ;\
mais ça ne fonctionne pas. Il ne veut pas de ma variable.
En gros il me manque la lecture du fichier ville.txt pour l'exclure de la recherche.
Je me demande du coup si c'est la bonne démarche.
Encore merci pour votre aide. (J'ajoute que je suis néophyte)