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:
Je pensais donc faire un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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`mais ça ne fonctionne pas. Il ne veut pas de ma variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part find /repertoire -type d -path -name $ville -o -prune -exec rm -Rf {} ;\
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)
Partager