comparer proprietaire fichier (UNIX AIX)

comparer proprietaire fichier (UNIX AIX) - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 21-03-2007 à 11:38:41    

Bonjour,
 
Voila je souhaiterais faire un script qui comparerais les proprietaire d'un repertoire, je m'explique par un exemple:
 
 2049 drwxr-xr-x   7 explaeix AEI            1024 15 mar 10:34 .
    2 drwxr-xr-x   6 bin      bin             512 30 mar 2005  ..
 2066 -rw-------   1 explaeix AEI             750 27 oct 17:01 .dbxhist
 4120 drwxr-xr-x   2 explaeix AEI             512 04 sep 2006  genloc
 2059 -rw-r-----   1 explaeix AEI              54 09 aoû 2005  key.txt
 4099 drwx--x--x   2 explaeix AEI             512 01 sep 2005  Mail
 
Dans un premier temps il faut que je vire les deux "repertoire" . et ..
Ensuite je souhaite comparer les proprietaire d'un fichier, je veux que tout mon repertoire est pour proprietaire et groupe, mysql mysql, la dans mon exmple ils sont en explaiex AEI.
 
Commant faire pour que le script m'indique quel fichier n'a pas les bonne propriété??
 
Merci de votre aide  :pt1cable:  
 
 

Reply

Marsh Posté le 21-03-2007 à 11:38:41   

Reply

Marsh Posté le 21-03-2007 à 11:41:07    

find

Reply

Marsh Posté le 21-03-2007 à 11:50:31    

quoi find??

Reply

Marsh Posté le 21-03-2007 à 14:08:01    

plus simplement dans mon exemple, j'ai:
 
champ1     champ2   champ3
explaeix      AEI      .dbxhist
explaeix      AEI       genloc
explaeix      AEI       key.txt
explaeix      AEI       Mail  
 
je souhaite qu'il compare le champ 1 a une valeur (ici mysql), si c'ette valeur n'est pas celle attendu alors il m'affiche le champ 3.
 
Premiere ligne donc, il m'afficherait:
.dbxhist
 
puis il passerait a la seconde ligne etc etc...
 

Reply

Marsh Posté le 21-03-2007 à 14:14:49    

find

Reply

Marsh Posté le 21-03-2007 à 14:21:40    

bon t'es gentil Taz mais si c'est pour ne pas aider le mieux c'est de ne rien dire

Reply

Marsh Posté le 21-03-2007 à 14:24:27    

man find


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

Marsh Posté le 21-03-2007 à 14:45:43    

Super les gars la réponse  :sarcastic:  
 
Quand vous savez pas une chose, on vous repond va te renseigner ailleurs, sympa chez vous.  :sarcastic:

Reply

Marsh Posté le 21-03-2007 à 14:47:29    

exover a écrit :

Super les gars la réponse  :sarcastic:  
 
Quand vous savez pas une chose, on vous repond va te renseigner ailleurs, sympa chez vous.  :sarcastic:


 :non:  
te renseigner sur les parametres de la commande find, elle répond exactement à ta question

Reply

Marsh Posté le 21-03-2007 à 15:06:21    

J'ai trouvé autre chose pour ma part avec la commande awk.
 
awk '{FS=" "; if($1!="mysql" ) {print $3}}'
 
Si on demande un renseignement c'est ptetre parcequ'on a cherché avant et qu'on a pas trouvé, c'est sur dire man find ca aide, m'enfin.........

Reply

Marsh Posté le 21-03-2007 à 15:06:21   

Reply

Marsh Posté le 21-03-2007 à 16:02:23    

MrHarry a écrit :


On récapitule :

cd /<le chemin du répertoire> ; ls -la | sed -e '/mysql[[:blank:]]\+mysql/d'


 
Bye  ;)


MAIS RTFM find !

Reply

Marsh Posté le 21-03-2007 à 16:29:07    

Je suis trop gentil:

find . -not -user mysql

 

Mais bon le plus simple si tu veux que tous tes fichiers aient comme propriétaire mysql c'est de faire:

chown mysql *

Message cité 1 fois
Message édité par leto le 21-03-2007 à 16:31:58

---------------
--
Reply

Marsh Posté le 21-03-2007 à 16:32:31    

MrHarry> merci BEAUCOUP, au moins un qui a compris l'interet d'un forum
 
leto3>je vais essayer :D :D merci a toi egalement
 oui je sais pour la commande chown :D :D mais je veux afficher les fichier qui ne coniennent pas via un script, les changement s'effctueront manuellement ;)
Merci encore

Message cité 1 fois
Message édité par exover le 21-03-2007 à 16:33:28
Reply

Marsh Posté le 21-03-2007 à 16:40:13    

leto a écrit :

Je suis trop gentil:

find . -not -user mysql


 
Mais bon le plus simple si tu veux que tous tes fichiers aient comme propriétaire mysql c'est de faire:

chown mysql *



 
plutot qu'un gruika sed...


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

Marsh Posté le 21-03-2007 à 16:43:14    

exover a écrit :

MrHarry> merci BEAUCOUP, au moins un qui a compris l'interet d'un forum
 
leto3>je vais essayer :D :D merci a toi egalement
 oui je sais pour la commande chown :D :D mais je veux afficher les fichier qui ne coniennent pas via un script, les changement s'effctueront manuellement ;)
Merci encore


non, en l'occurence c'est toi qui n'a pas compris l'interet de te mettre sur la piste sans te donner la solution. Si on te donne directement la reponse, tu vas l'utiliser betement sans comprendre ce que tu fais et final tu n'auras rien appris. Si par contre, tu avais pris 5 min pour lire le man de la commande find comme on te l'a indiqué, et que tu avais réfléchi un peu, je pense que tu aurais trouvé tout seul la réponse (ou a defaut revenir demander si tu ne comprenais pas), et la au moins tu aurais appris quelquechose.

Reply

Marsh Posté le 21-03-2007 à 16:43:27    

-not n'existe pas sur AIX ;)

Reply

Marsh Posté le 21-03-2007 à 16:46:39    

exover a écrit :

-not n'existe pas sur AIX ;)


ah ok, effectivement ca change tout :D désolé dans ce cas.

Spoiler :


quelle idée d'utiliser AIX aussi :o

Reply

Marsh Posté le 21-03-2007 à 16:47:02    

P-Y> oui bien sur, dis moi quand t'as un probleme en mécanique, et que tu demande a un ami, il te dis, va acheter des bouqins de méca et lis, tu trouveras la solution, c'est sympathique vers chez vous serieux.
 
Quand a dire je n'ai pas cherché, preuve que si puisque j'ai trouvé via la commande awk, le sed ne fonctionne pas apparement, et le find non plus, comme quoi......
Mais maintenant qu'on m'a indiqué le fonctionnement dans ce cas du sed je pourrais recherché un peu plus et peut etre trouvé, pour le find aussi.
 
Désolé on a pas du tout la meme philosophie d'un forum, j'espere que tu seras bien dans la merde un jour, je me ferais un plaisir de te repondre cherche tu trouveras bien tout seul.

Reply

Marsh Posté le 21-03-2007 à 16:49:00    

P-Y> c'est pas moi c'est au boulot ;)

Reply

Marsh Posté le 21-03-2007 à 17:00:05    

Selon google, il se peut que le find d'AIX comprenne ceci :

find -nogroup mysql -nouser mysql


---------------
--
Reply

Marsh Posté le 21-03-2007 à 17:02:41    

j'avais essayé :D :D il me répond:
 
find : 0652-009 Conjonction manquante
 
vi vi j'avais cherché ;)

Reply

Marsh Posté le 21-03-2007 à 17:15:43    

MrHarry> LOL le truc trop bete en faites :D  
merci beaucoup

Reply

Marsh Posté le 21-03-2007 à 17:21:09    

Bon ca fonctionne avec un argument (user ou groupe) mais ca ne fonctionne pas si je met les deux argument (user et groupe).
 
il ne met pas d'erreur il ne m'indique aucun fichier.
 
Bon je verrais ca demain, la hop retour a la maison.
 
En tout cas merci a certain d'entre vous.

Reply

Marsh Posté le 21-03-2007 à 20:07:49    

essaye comme ceci :
find . \( ! -group 'mysql' -o ! -user 'mysql' \)

 

sous solaris quand tu donne plusieurs options, les \(  -o   \) sont souvent necessaire. sous AIX a voir...


Message édité par aknott31 le 21-03-2007 à 20:08:14

---------------
hebergez vos images
Reply

Marsh Posté le 22-03-2007 à 11:39:49    

aknott31> yes ca marche :D :D

 

Merci msieur

 

edit: ah ben non ca marche pas non plus, il ne me dit pas qu'un fichier est en autre chose :( :(

 

bon tant pis, j'utiliserais le awk, lui fonctionne nickel :D


Message édité par exover le 22-03-2007 à 11:42:36
Reply

Marsh Posté le 23-03-2007 à 10:20:20    

Bon voici ma commande awk :D
 
ls -ail $VERIF|tail +4|grep -v lost+found|cut -c 22-38,64-100|awk 'BEGIN { printf ("Proprietaire  Groupe  Fichier\n------------  ------  -------\n" ) }{FS=" "; if($1!="explaeix"||$2!="AEI" ) {printf ("%-12s %-6s %-7s\n", $1,"  " $2,"  "$3)}}'
 
bon en gros ca donne ca comme résultat a l'affichage
 
Proprietaire  Groupe  Fichier
------------  ------  -------
root           system   .mysql_history
 
J'aimerais savoir comment integrer des exceptions, je m'explique, pour l'heure, il me donne tous les fichiers ayant aurtre chose que explaeix et AEI en utilisateur et groupe, selon le repertoire que je desire.
Déja dans un premier temps j'aimerais qu'il integre une variable de mon script (variable repertoire) comment faire???
Ensuite j'aimerais que celui ci en fonction du repertoire integre des exceptions, c'est a dire, dans le repertoire dison /Exover, tous les fichiers ou dossier doivent etre en explaeix AEI, sauf un qui doit etre en mysql mysql (c'est un exemple), comment faire???
 
j'aimerais avoir un affichage final en faites comme celui la:
 
Repertoire   Proprietaire   Groupe   Fichier
----------   ----------  -------   --------
/Exover       root           system   .mysql_history
 
 
Voili voilou :D
 
si vous avez un peu d'aide sur awk.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed