Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Unix > Solaris

Solaris Forum d'entraide sur le système Solaris.

Réponse
 
Outils de la discussion
Vieux 23/06/2008, 17h47   #1 (permalink)
Membre régulier
 
Date d'inscription: février 2005
Messages: 127
Par défaut [sun 5.8] mystère .. enfin pour moi ;-)

Bonjour,

Voici l'objet de mon post, dans un script shell, j'exécute une commande afin de déplacer des fichiers dans un répertoire historique :

Code :
find $dbname/$rep -name '*.aud' -mtime +5 -exec mv {} histo \;
Or le résultat est assez surprenant :

Avant passage du script :

Code :
[pan:.ora10g]/oradatD31/oratrace/AMBT/adump> ls -l
total 14
-rw-r--r--   1 ora10g   dba          108 Jun 23 17:34 fichier.txt
drwxr-xr-x   2 ora10g   dba          512 Jun 23 17:35 histo
-rw-r-----   1 ora10g   dba          591 Jun 16 03:08 ora_22031.aud
-rw-r-----   1 ora10g   dba          591 Jun 16 03:08 ora_22054.aud
-rw-r-----   1 ora10g   dba          584 Jun 16 03:08 ora_22055.aud
-rw-r-----   1 ora10g   dba          582 Jun 15 23:00 ora_8179.aud
-rw-r-----   1 ora10g   dba          714 Jun 15 23:00 ora_8189.aud
[pan:.ora10g]/oradatD31/oratrace/AMBT/adump> ls -l histo
total 0
[pan:.ora10g]/oradatD31/oratrace/AMBT/adump>
Après passage du script :

Code :
[pan:.ora10g]/oradatD31/oratrace/AMBT/adump> ls -l
total 4
-rw-r--r--   1 ora10g   dba          108 Jun 23 17:34 fichier.txt
drwxr-xr-x   2 ora10g   dba          512 Jun 23 17:35 histo
[pan:.ora10g]/oradatD31/oratrace/AMBT/adump> ls -l histo
total 0
[pan:.ora10g]/oradatD31/oratrace/AMBT/adump>
Tout se passe comme si j'avais lancé une commande de type :

Code :
find $dbname/$rep -name '*.aud' -mtime +5 -exec rm {} \;
Ce qui n'est pas le cas ..

Si vous avez une explication, je suis preneur ..

Cdt,
A.Personnat
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 23/06/2008, 21h13   #2 (permalink)
Responsable technique
 
Avatar de Anomaly
 
Date d'inscription: juin 2003
Messages: 4 074
Par défaut

Code :
find $dbname/$rep -name '*.aud' -mtime +5 -exec mv {} histo \;
Je pense que ton mv a été exécuté relativement au répertoire courant et non pas au dossier du fichier. Du coup, chaque fichier a été renommé respectivement en "histo" dans le répertoire où tu étais quand tu as lancé ton find, chaque "renommage" écrasant le fichier existant, et donc tu vois avoir un fichier "histo" dans ton répertoire courant qui est en fait le dernier de tes fichiers .aud.

Ajouter un "/" après histo aurait permis à "mv" de comprendre que tu voulais déplacer tes fichiers dans un dossier "histo" et non pas renommer et aurait ainsi généré une erreur (dossier histo non existant) au lieu de faire ce massacre.
__________________
Responsable technique forum & site
Anomaly est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 24/06/2008, 10h34   #3 (permalink)
Membre régulier
 
Date d'inscription: février 2005
Messages: 127
Par défaut

Bonjour,

Effectivement j'ai bien trouvé un fichier histo contenant le dernier fichier .aud dans mon répertoire courant, logique implacable ;-)

J'ai donc modifié la ligne de commande comme suit :

Code :
find $dbname/$rep -name '*.aud' -mtime +7 -exec mv {} $dbname/$rep/histo \;
Les fichiers sont bien déplacés dans le répertoire histo mais avec un warning bien que le repertoire histo soit vide :

Code :
[pan:.ora10g]/oradatD31/oratrace/AMBT/udump> ll histo
total 0
[pan:.ora10g]/oradatD31/oratrace/AMBT/udump>
Code :
mv: AMBT/udump/histo/ambt_ora_8189.aud and AMBT/udump/histo/ambt_ora_8189.aud are identical
mv: AMBT/udump/histo/ambt_ora_22031.aud and AMBT/udump/histo/ambt_ora_22031.aud are identical
Lorsque j'effectue le même test en placant le répertoire histo au meme niveau que le repertoire de recherche je n'ai pas ce warning ..

Merci beaucoup pour le coup de main ;-)

Cdt,
A.Personnat
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation
NEWS LINUX PROFESSIONNELFAQ LINUXTUTORIELS LINUXLIVRES LINUXLINUX TVUNIXGTK+QtAPACHE

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Unix > Solaris



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 21h38.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations