Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2385 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Chmod en masse rapide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Chmod en masse rapide

n°1207264
Franky4doi​gts
Don't fuck with my nuts !
Posté le 26-03-2010 à 17:41:30  profilanswer
 

Hello,
 
Dans l'optique d'un futur archivage de boites mails, je souhaiterais en placer une petite centaine en 0000, histoire qu'elles soient inaccessibles le temps de l'archivage.
Evidemment un chmod 0000 xxx en ligne de commande serait fastidieux, aussi j'ai pensé à un script.
 
Je souhaiterais que ce script fasse appel a un fichier texte qui contiendrais la liste des boites (des folders) à passer en 0000. Un peu à l'inverse d'une redirection qu'aurai donné ce genre de commande ls -a > lsdurep.text.
 
Etant plutot neuneu dans le domaine, j'ai pondu un truc pourri de ce genre
 
#!/bin/bash
# scriptmail : Script de desactivation de boite en masse
echo Modification des droits des boites en 0000
 
chmod 0000 /root/scriptmail/test;
 
 
Mais je me vois mal placer une ligne par boite, des idées ? :o

mood
Publicité
Posté le 26-03-2010 à 17:41:30  profilanswer
 

n°1207265
Fork Bomb
Obsédé textuel
Posté le 26-03-2010 à 17:44:40  profilanswer
 

Une boucle  [:airforceone]


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°1207266
Franky4doi​gts
Don't fuck with my nuts !
Posté le 26-03-2010 à 17:48:47  profilanswer
 

Fork Bomb a écrit :

Une boucle  [:airforceone]


 
Hep  :hello:  
 
Je vais tester avec la boucle while, merci

n°1207268
O'Gure
Modérateur
Multi grognon de B_L
Posté le 26-03-2010 à 17:50:54  profilanswer
 

man xargs :o
+ un cat d'un fichier contenant le nom des fichieres à chmoder +  pipe dans le xargs


Message édité par O'Gure le 26-03-2010 à 17:51:41

---------------
Relax. Take a deep breath !
n°1207269
p-seeker23
Posté le 26-03-2010 à 17:53:22  profilanswer
 

#!/bin/bash
#  
# scriptmail.bash : Script de désactivation de boîtes en masse
#  
# 2010.03.26   Franky4doigts   Création
#  
 
echo "Modification des droits des boîtes en 0000.."
cat lsdurep.text | while read d; do chmod 0000 $d; done
 
[ $? -eq 0 ] && echo "Fait." && cs=0 || { echo "Erreur !"; cs=1; }
 
exit $cs

n°1207273
Franky4doi​gts
Don't fuck with my nuts !
Posté le 26-03-2010 à 18:03:11  profilanswer
 

Genial
 
Et ça me servira meme pour faire du tarball, merci  :jap:

n°1207274
O'Gure
Modérateur
Multi grognon de B_L
Posté le 26-03-2010 à 18:04:48  profilanswer
 

p-seeker23 a écrit :

#!/bin/bash
#  
# scriptmail.bash : Script de désactivation de boîtes en masse
#  
# 2010.03.26   Franky4doigts   Création
#  
 
echo "Modification des droits des boîtes en 0000.."
cat lsdurep.text | while read d; do chmod 0000 $d; done
 
[ $? -eq 0 ] && echo "Fait." && cs=0 || { echo "Erreur !"; cs=1; }
 
exit $cs



pourquoi vouloir réinventer xargs ? [:pingouino]


---------------
Relax. Take a deep breath !
n°1207283
p-seeker23
Posté le 26-03-2010 à 18:52:23  profilanswer
 

O'Gure a écrit :

pourquoi vouloir réinventer xargs ?[:pingouino]


Parce que :  

Franky4doigts a écrit :

Et ça me servira meme pour faire du tarball


 
Cette forme permet de faire plus de choses, avec un meilleur contrôle, par exemple :  
 

#!/bin/bash
#  
# scriptmail.bash : Script de désactivation de boîtes en masse
#  
# 2010.03.26   Franky4doigts   Création
#  
 
tmpF=/tmp/$$.$RANDOM
echo "0 0 0" >$tmpF
 
echo "Modification des droits des boîtes en 0000 et archivage :"
cat lsdurep.text | while read d; do
    read cnt rchmod rtar <$tmpF
    echo -e "chmod $d .. \c"
    chmod 0000 $d;  
    if [ $? -eq 0 ]; then
        echo "fait."
        echo -e "tar $d .. \c"
        tar cf ${d}.tar $d
        [ $? -eq 0 ] && echo "fait." && ((cnt++)) && rm -rf $d || { echo "erreur !"; ((rtar++)); }
    else
        echo "erreur !"; ((rchmod++));
    fi
    echo "$cnt $rchmod $rtar" >$tmpF
done
 
read cnt rchmod rtar <$tmpF; cs=$((rchmod+rtar))
if [ $cs -eq 0 ]; then
    echo "\nTerminé avec succès, $cnt boîtes traitées."
else
    echo "\nTerminé avec erreurs. chmod : $rchmod échec(s), tar : $rtar échec(s)"
    echo "$cnt boîte(s) archivées avec succès."
fi
 
exit $cs


n°1207285
mikala
Souviens toi du 5 Novembre...
Posté le 26-03-2010 à 19:09:37  profilanswer
 

Concernant l'archivage , as tu une idée de la réaction du MDA lorsqu'il voudra déposer des mails sur des boites inaccessibles?
Vas t'il attendre et laisser les mails au niveau du MTA ou simplement les faire disparaitre?


---------------
Intermittent du GNU
n°1207290
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 26-03-2010 à 20:13:22  profilanswer
 

+1 mikala, ce genre de choses n'est pas une bonne idée.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Chmod en masse rapide

 

Sujets relatifs
suppression en masse et rapide de fichiergestion chmod plusieurs groupes
Renommer en masse[ Distrib ] Os à Boot Rapide pour Surf
OS démarrage ultra rapide juste pour le net ?Mise en veille trop rapide disque dur externe !?
Problème récurrence chmodastuce demarrage rapide
Quel OS choisir, pour unenutilisation simple et rapide ? 
Plus de sujets relatifs à : Chmod en masse rapide


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)