Outil de comparaison d'arborescence de fs en 2passes?

Outil de comparaison d'arborescence de fs en 2passes? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 27-07-2006 à 12:04:05    

Bonjour,
ayant récement fait un backup de plusieurs grosses partitions, contenant de très nombreux fichiers,  
j'aimerai si possible un petit coup de pouce pour m'orienter vers l'outil me permettant d'effectuer, en deux étapes, la comparaison des arborescences et des ficheirs qu'elles contiennent (md5 sur les fichiers sont un plus). En deux étapes car les partitions sources ne sont accessibles que sous linux et les partitions de destination que sous windows (j'utiliserai donc cygwin).
 
L'objectif étant donc de bien m'assurer que le transfert des données s'est déroulé sans erreurs bien évidement.
 
Cela vous semble faisable tout en gardant sa santé mentale à un niveau tolérable par la société?

Message cité 1 fois
Message édité par Aschrack le 29-07-2006 à 23:35:52

---------------
Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet ! (antp était prems et est admin) - "Le travail est l'opium du peuple et je ne veux pas mourir dr
Reply

Marsh Posté le 27-07-2006 à 12:04:05   

Reply

Marsh Posté le 27-07-2006 à 16:12:43    

Aschrack a écrit :

Bonjour,
ayant récement fait un backup de plusieurs grosses partitions, contenant de très nombreux fichiers,  
j'aimerai si possible un petit coup de pouce pour m'orienter vers l'outil me permettant d'effectuer, en deux étapes, la comparaison des arborescences et des ficheirs qu'elles contiennent (md5 sur les fichiers sont un plus). En deux étapes car les partitions sources ne sont accessibles que sous linux et les partitions de destination que sous windows (j'utiliserai donc cygwin).
 
L'objectif étant donc de bien m'assurer que le transfert des données s'est déroulé sans erreurs bien évidement.
 
Cela vous semble faisable tout en gardant sa santé mentale à un niveau tolérable par la société?


 
diff a une option récursive (diff -r), mais je n'ai jamais testé.  


---------------
Je suis un peu obsédé. Remarquez, j'ai de qui tenir. Mon père est bisexuel. Ma mère est trisexuelle. J'ai un oncle octosexuel. Et mon chat a neuf queues. C'est énorme. - P. Desproges
Reply

Marsh Posté le 27-07-2006 à 22:49:36    

rsync

Reply

Marsh Posté le 28-07-2006 à 11:56:36    

diff -qr :
r = recursif,  
q = quiet : va juste t'indiquer les fichiers differents, sans aller jusqu'a dire quelles differences dans le fichier

Reply

Marsh Posté le 29-07-2006 à 22:24:27    

et cela me permet de le faire en deux étapes? pcq donc l'objectif serait donc, ayant deux partitions A et B, A n'étant accessible que sous linux et B que sous windows, de pouvoir enregistrer, sous linux, dans un fichier les informations de A qui seront comparées ensuite aux informations de B sous cygwin (donc sous windows)


---------------
Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet ! (antp était prems et est admin) - "Le travail est l'opium du peuple et je ne veux pas mourir dr
Reply

Marsh Posté le 31-07-2006 à 22:49:06    

:bounce: up? :bounce:


---------------
Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet ! (antp était prems et est admin) - "Le travail est l'opium du peuple et je ne veux pas mourir dr
Reply

Marsh Posté le 01-08-2006 à 11:24:54    

bah, ptet avec ca  ? :  
ls -R > monliux.txt
puis :
ls -R > monwidows.txt
 
et ensuite :  
diff monlinux.txt monwindows.txt
 
Enfin si j'ai bien compris ton pb...

Reply

Marsh Posté le 01-08-2006 à 23:57:12    

find . | xargs md5sum > linux.txt
find . | xargs md5sum > windows.txt
 
Puis comme dis Burps, tu fais un diff sur les fichiers obtenus

Message cité 1 fois
Message édité par MarmottePower le 01-08-2006 à 23:58:12
Reply

Marsh Posté le 02-08-2006 à 01:10:38    

pas bête :) thx, jvais tenter ça dans quelques heures (là jvais dormir plutôt :D)
 
c'est vrai qu'au final, je cherchais trop loin


---------------
Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet ! (antp était prems et est admin) - "Le travail est l'opium du peuple et je ne veux pas mourir dr
Reply

Marsh Posté le 06-08-2006 à 22:15:28    

MarmottePower a écrit :

find . | xargs md5sum > linux.txt
find . | xargs md5sum > windows.txt
 
Puis comme dis Burps, tu fais un diff sur les fichiers obtenus


hum, vi mais le problème alors c'est que find semble tout renvoyer ce qui est bien et voulu pour le listing ... mais par contre md5sum lui semble ne pas apprécier la présence de directories dans son input et s'arrête donc immédiatement


---------------
Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet ! (antp était prems et est admin) - "Le travail est l'opium du peuple et je ne veux pas mourir dr
Reply

Marsh Posté le 06-08-2006 à 22:15:28   

Reply

Marsh Posté le 06-08-2006 à 23:20:02    

find . -type f  pour ne sélectionner que les fichiers


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 07-08-2006 à 00:29:01    

jy avais pensé, mais alors jcompare plus les arborescence ... enfin, au final, si tous les fichiers sont là c'est déja parfait pis c'est vrai que jvois mal comme l'arborescence aurait changée ... une erreur lors d'un transfert va altérer le fichier mais bon de là à changer les directories ...
 
hum, mais un autre problème survient alors, semblerait qu'une découpe soit faite dès qu'un " " apparait dans les noms de fichiers et md5sum alors n'est pas content vu qu'il ne trouve pas le fichier
 
peut-être dû à cette erreur ici "xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option"  
mais si je fourni -0 comme option
 
"find . -type f | xargs -0 md5sum > win.txt
xargs: argument line too long"


---------------
Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet ! (antp était prems et est admin) - "Le travail est l'opium du peuple et je ne veux pas mourir dr
Reply

Marsh Posté le 07-08-2006 à 17:10:50    

essaie ça :  
 
find . -f >/tmp/list.os.$$
for f in $(cat /tmp/list.os.$$); do md5sum $f; done > os.txt
 
Si ça ne marche toujours pas, ne te reste que le awk avec son appel system()..
 
Bonne chance..

Reply

Marsh Posté le 07-08-2006 à 17:30:42    

Citation :

find . -type f >/cygdrive/f/tmp/list.win.$$
for f in $(cat /cygdrive/f/tmp/list.win.$$); do md5sum $f; done > /cygdrive/f/win_a.txt


nope :( toujours le même problème md5 qui sort "no such file or directory" pcq les noms avec espace sont découpés :(
 
hum, jvais devoir laisser tomber l'appel à md5 faut croire :(


---------------
Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet ! (antp était prems et est admin) - "Le travail est l'opium du peuple et je ne veux pas mourir dr
Reply

Marsh Posté le 07-08-2006 à 17:36:53    

Tu peux utiliser des espaces dans les noms de fichier sous Linux
remplace simplement les " " par des "\ " :  
 
for f in $(sed 's/ /\\ /g' /cygdrive/f/tmp/list.win.$$); do md5sum $f; done > /cygdrive/f/win_a.txt  
 
courage !

Reply

Marsh Posté le 07-08-2006 à 17:56:48    

# ll
total 16
-rw-rw-r--   1 xxxxx   xxxxx       0 Aug  7 17:54 Tu peux utiliser des espaces dans les noms de fichier sous LinuxTu peux utiliser des espaces dans les noms de fichier sous LinuxTu peux utiliser des espaces.txt
-rw-r--r--   1 xxxxx   xxxxx     474 Jun 28 09:27 monit.pl
-rw-rw-r--   1 xxxxx   xxxxx       0 Aug  7 17:50 test test.txt
 
# find . -type f | sed 's% %\\ %g' | nawk '{system("md5sum " $0);}'
d41d8cd98f00b204e9800998ecf8427e  ./test test.txt
ac15172ef7e97d0da0b915f6c75117e2  ./monit.pl
d41d8cd98f00b204e9800998ecf8427e  ./Tu peux utiliser des espaces dans les noms de fichier sous LinuxTu peux utiliser des espaces dans les noms de fichier sous LinuxTu peux utiliser des espaces.txt


Reply

Marsh Posté le 07-08-2006 à 18:13:55    

vous avez pas plus compliqué ?
 

find . -type f -exec md5sum {} \;


 
et pour les dossiers, tu peux faire une comparaison en 2 passes :  
une fois l'arbo+fichier avec tree  
une fois les fichiers eux-même avec find + md5


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 08-08-2006 à 08:33:19    

Nan mais c'est pour rajouter les \ avant les espaces puisque md5sum semble ne pas les aimer sur son système ..

Reply

Sujets relatifs:

Leave a Replay

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