[Terminal] Copie de fichiers/dossiers et comparaison du contenu après copie ?

Le
pas.de.spam
Bonjour,

Une question (basique) pour les pros du terminal.

Le contexte tout d'abord.

J'ai un dossier à copier (150 Go) comprenant environ 1100 sous dossiers.
Chacun de ses dossiers comprend entre 20 et 300 fichiers.

Plusieurs tentatives de copies Finder ont échouées. A cause de soit
disant erreurs de lectures. Lorsque je reprenais unitairement la copie
du dossier fautif (facile à identifier grace au nom du fichier
incriminé), no soucis. J'ai donc essayé de procéder par étapes en
selectionnant une trentaine de dossiers et de les copier (par finder)
dans la fenêtre destination. Au bout d'un moment, rebelote erreurs.

j'en ai eu marre, et dégainé le terminal, avec un man cp.

J'ai donc lancé un cp -R -n dossier_source dossier_cible. En utilisant
le drag & drop pour chacun des dossiers (situés sur des disques
différents).

pour le moment tout baigne, environ 400 dossiers ont été copiés et ça
mouline toujours.

Je voudrais donc savoir ce qui se passe au niveau du terminal, en cas
d'erreurs éventuelles de copie.

Et je désirerais connaître une commande qui me permettrais de comparer
les deux dossiers pour savoir s'ils sont bien identiques. Je me vois mal
ouvrir chacun des 1100 dossiers un par un pour voir si le nombre di
fichiers est identique.

Mille mercis aux unixiens barbus ou non qui voudront bien me faire
partager leurs lumières.

--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
patpro ~ patrick proniewski
Le #2320271
In article (Pierre-Olivier TAUBATY) wrote:

Je voudrais donc savoir ce qui se passe au niveau du terminal, en cas
d'erreurs éventuelles de copie.


il le signale par une ligne d'erreur.

Et je désirerais connaître une commande qui me permettrais de comparer
les deux dossiers pour savoir s'ils sont bien identiques. Je me vois mal
ouvrir chacun des 1100 dossiers un par un pour voir si le nombre di
fichiers est identique.


rsync ou diff, mais j'aurais tendance à utiliser le premier, qui peut au
passage corriger les différences constatées ;)

patpro

--
http://www.patpro.net/

patpro ~ Patrick Proniewski
Le #2312651
In article (Xavier) wrote:

patpro ~ patrick proniewski
rsync ou diff, mais j'aurais tendance à utiliser le premier, qui peut au
passage corriger les différences constatées ;)


Oui, mais diff n'a pas besoin d'incantations complexes. `diff` et
drag&drop des deux dossiers suffit.


si tu veux juste comparer les arbres je pense qu'il faut ajouter
quelques options.

patpro

--
http://www.patpro.net/


pas.de.spam
Le #2279271
patpro ~ patrick proniewski
In article (Pierre-Olivier TAUBATY) wrote:

Je voudrais donc savoir ce qui se passe au niveau du terminal, en cas
d'erreurs éventuelles de copie.


il le signale par une ligne d'erreur.


merci, donc tout s'est bien passé pour la copie, qui s'est réalisée en
69 minutes pour 140 Go.


Et je désirerais connaître une commande qui me permettrais de comparer
les deux dossiers pour savoir s'ils sont bien identiques. Je me vois mal
ouvrir chacun des 1100 dossiers un par un pour voir si le nombre di
fichiers est identique.


rsync ou diff, mais j'aurais tendance à utiliser le premier, qui peut au
passage corriger les différences constatées ;)

patpro


euh ! tu ne pourais pas me guider un peu pour la syntaxe ? je voudrais
que l'analyse concerne le contenu de chacun des 1100 dossiers pris un
par un ...

--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr


patpro ~ patrick proniewski
Le #2278921
In article (Pierre-Olivier TAUBATY) wrote:

rsync ou diff, mais j'aurais tendance à utiliser le premier, qui peut au
passage corriger les différences constatées ;)

patpro


euh ! tu ne pourais pas me guider un peu pour la syntaxe ? je voudrais
que l'analyse concerne le contenu de chacun des 1100 dossiers pris un
par un ...


heu ben c'est vachement dépendant de ce que tu veux comparer exactement.

Je peux te proposer un rsync bestial :

rsync -avn /un/dossier/ /Volumes/Sauvegarde/un/dossier

avec le "n" il va te montrer uniquement les différences qu'il devrait
corriger pour que les deux dossiers soient équivalents.
Si tu enlèves le "n", il va réellement corriger les différences.

patpro

--
http://www.patpro.net/


pas.de.spam
Le #2277601
patpro ~ patrick proniewski
In article (Pierre-Olivier TAUBATY) wrote:

rsync ou diff, mais j'aurais tendance à utiliser le premier, qui peut au
passage corriger les différences constatées ;)

patpro


euh ! tu ne pourais pas me guider un peu pour la syntaxe ? je voudrais
que l'analyse concerne le contenu de chacun des 1100 dossiers pris un
par un ...


heu ben c'est vachement dépendant de ce que tu veux comparer exactement.

Je peux te proposer un rsync bestial :

rsync -avn /un/dossier/ /Volumes/Sauvegarde/un/dossier

avec le "n" il va te montrer uniquement les différences qu'il devrait
corriger pour que les deux dossiers soient équivalents.
Si tu enlèves le "n", il va réellement corriger les différences.

patpro


merci beaucoup.

si par hasard, le dossier en question contient lui-même des dossiers,
cette commande descend-elle dans l'arborescence, pour peu que les
sous-dossiers en question portent le même nom ?
--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr



pas.de.spam
Le #2277561
Pierre-Olivier TAUBATY
patpro ~ patrick proniewski
In article (Pierre-Olivier TAUBATY) wrote:

rsync ou diff, mais j'aurais tendance à utiliser le premier, qui peut au
passage corriger les différences constatées ;)

patpro


euh ! tu ne pourais pas me guider un peu pour la syntaxe ? je voudrais
que l'analyse concerne le contenu de chacun des 1100 dossiers pris un
par un ...


heu ben c'est vachement dépendant de ce que tu veux comparer exactement.

Je peux te proposer un rsync bestial :

rsync -avn /un/dossier/ /Volumes/Sauvegarde/un/dossier

avec le "n" il va te montrer uniquement les différences qu'il devrait
corriger pour que les deux dossiers soient équivalents.
Si tu enlèves le "n", il va réellement corriger les différences.

patpro


merci beaucoup.

si par hasard, le dossier en question contient lui-même des dossiers,
cette commande descend-elle dans l'arborescence, pour peu que les
sous-dossiers en question portent le même nom ?


je voulais dire, le même nom dans la source et la cible, bien sûr

--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr




patpro ~ Patrick Proniewski
Le #2277541
In article (Pierre-Olivier TAUBATY) wrote:

rsync -avn /un/dossier/ /Volumes/Sauvegarde/un/dossier

avec le "n" il va te montrer uniquement les différences qu'il devrait
corriger pour que les deux dossiers soient équivalents.
Si tu enlèves le "n", il va réellement corriger les différences.



si par hasard, le dossier en question contient lui-même des dossiers,
cette commande descend-elle dans l'arborescence, pour peu que les
sous-dossiers en question portent le même nom ?


rsync suit l'arborescence oui.

patpro

--
http://www.patpro.net/


pas.de.spam
Le #2312311
patpro ~ Patrick Proniewski
In article (Pierre-Olivier TAUBATY) wrote:

rsync -avn /un/dossier/ /Volumes/Sauvegarde/un/dossier

avec le "n" il va te montrer uniquement les différences qu'il devrait
corriger pour que les deux dossiers soient équivalents.
Si tu enlèves le "n", il va réellement corriger les différences.



si par hasard, le dossier en question contient lui-même des dossiers,
cette commande descend-elle dans l'arborescence, pour peu que les
sous-dossiers en question portent le même nom ?


rsync suit l'arborescence oui.

patpro


merci bien
--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr



Nicolas.MICHEL
Le #2311821
Pierre-Olivier TAUBATY
J'ai donc lancé un cp -R -n dossier_source dossier_cible. En utilisant
le drag & drop pour chacun des dossiers (situés sur des disques
différents).


Depuis que Mac OS X existe, j'ai toujours copié les gros dossiers en cli
et non au finder, ne serais-ce que pour pouvoir préserver les
permissions, avoir des messages d'erreur clair et pouvoir relancer la
synchro en cas de besoins.

Depuis la version 10.4, cp gère les resources fork.
Avant, tu les perdais en utilisant cp.
(contrairement à ditto qui avait déjà une option "-rsrc" )

Il me semble que cp -Rn s'arrête en cas d'erreur. Tout comme ditto.
Raison pour laquelle j'utilises rsync ou psync, qui eux continuent en
cas d'erreur. En relançant la commande tu vois si tout est bien passé.

psync est plus simple que rsync, mais ne gère pas la copie distante.
Ce qui n'était pas ton cas ici, donc tu aurais pu faire :

psync /source /destination


Concernant à présent rsync.
Par défaut, ça ne copies pas les resources fork.
Depuis Mac OS X 10.4, il y a une options -E, que patpro a oublié de
mentionner, sensé copier les resource mais ça ne marche pas chez moi.
Je crois qu'il y a un bug lié aux ACL, peut-être corrigé à présent.
De plus, cette version de rsync ne marche pas sur Mac OS X 10.3
Raison pour laquelle j'utilises une version spécifique de rsync, qu'on
peut installer en installant RsyncX.

Dans quel cas une commande du genre :
rsync --eahfs -a /source /destination
ou avec la version Apple :
rsync -E -a /source /destination

devrait le faire.
On peut ajouter l'options -v pour voir ce qui est copié



Une dernière chose, c'est un piège, il y a une différence de syntaxe
dans la "destination". Par exemple pour une copie en target mode :

sudo psync /Volume/TargetMac/Users/toto /Users/toto
est équivalent à :
sudo rsync --eahfs -av /Volume/TargetMac/Users/toto /Users
ou encore sans target mode mais via le réseau :
sudo rsync --eahfs -ave "ssh -l root" Mac.source.com:/Users/toto /Users

Voilou :)
--
Nicolas

Jacques Perrocheau
Le #2311731
In article (Nicolas MICHEL) wrote:


Depuis la version 10.4, cp gère les resources fork.


??? tu es sûr ?

Tout dépend de ce que tu entends par "gère".

Le man de cp n'en parle point.

Avant, tu les perdais en utilisant cp.
(contrairement à ditto qui avait déjà une option "-rsrc" )


Il y a toujours CpMac si u as installé les Developer Tools, comme MvMac
le pendant de mv.

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

Publicité
Poster une réponse
Anonyme