Salut
Merci Hamster pour cette explication très complète, je comprends mieux a quoi sert sync et son importance dans le cadre de manipulation de fichier. La copie de fichier viens de ce finir avec succès :-))) sent 305,600,616,450 bytes received 113,919 bytes 67,083,905.25 bytes/sec total size is 305,525,656,835 speedup is 1.00 J'ai utilisé rsync (sans oublier le sync ;-) #rsync -aPv /mnt/data/projet /mnt/data2/ && sync Tout semble fonctionner correctement sur le nouveau disque. Il n'y a plus qu'à le remplir :D Je vous adresse a tous un TRES GRAND MERCI :) pour votre aide, vos conseils et votre assistance, et en particulier à Hamster pour sa disponibilité. Très cordialement Hugues Le ven. 16 sept. 2022 à 13:04, hamster <hams...@suna.fdn.fr> a écrit : > Le 16/09/2022 à 11:49, Hugues MORIN-TRENEULE a écrit : > > Salut > > > > Dans la commande > > rsync -aPv /xxx/yyy/source /vvv/zzz/destination && sync > > > > Le "sync" correspond bien à cette commande: > > http://manpagesfr.free.fr/man/man8/sync.8.html > > <http://manpagesfr.free.fr/man/man8/sync.8.html> > > J'ai compris qu'elle permettait de s'assurer que le contenu en > > mémoire soit bien inscrit sur le disque mais je ne comprends pas bien > > pourquoi on l'appelle après rsync? > > Quelle est sa fonction dans le processus de copie? > > Dans un disque mécanique, il y a une tete le lecture qui bouge. Plus on > la fait bouger, plus le mécanisme s'use. C'est donc une bonne idée > d'économiser les mouvements de cette tete de lecture. > > Un moyen simple de le faire, c'est de ne pas aller écrire chaque chose a > écrire au fur et a mesure mais de les grouper. Il y a donc une mémoire > cache. Quand tu écris quelque chose sur le disque, en fait c'est pas > écrit directement sur le disque mais dans la mémoire cache. Quand cette > mémoire cache est pleine, tout son contenu est écrit en une fois sur le > disque. Et puis ca recommence. > > Comme le système fait beaucoup de toutes petites écritures (a savoir > rajouter une ligne dans un fichier de log) le fait de grouper ainsi les > écritures fait économiser beaucoup de mouvements de la tete de lecture, > et prolonge d'autant la durée de vie du disque. > > Mais ca a aussi un défaut : quand tu écris quelque chose sur le disque, > en fait ca s'écrit pas, ca attend que le cache soit plein pour s'écrire > vraiment. Typiquement si tu écris un gros fichier, ca remplit le cache, > ca l'écrit sur le disque, ca re-remplit le cache, ca l'écrit sur le > disque, etc… un certain nombre de fois. Et puis arrive la fin du > fichier. Le dernier morceau du fichier n'est pas assez gros pour remplir > le cache, alors il est pas écrit tout de suite. Et tu te retrouve > pendant un certain temps avec un fichier qui est écrit sur le disque, > sauf la toute fin. Combien de temps dure ce "certain temps" ? Jusqu'a ce > que tu ait écrit suffisamment d'autres trucs pour finir de remplir le > cache. > > La commande sync force l'écriture de ce qui est dans le cache, meme si > il n'est pas plein. Tu peux la lancer a la main, et elle est aussi > lancée automatiquement quand tu démonte un truc. C'est pour ca qu'il ne > faut pas débrancher un disque externe sans l'éjecter au préalable. Quand > tu éjecte le disque externe, ca lance sync pour vider le cache et ca le > démonte. Tu peux alors le débrancher sans qu'il n'y ait le dernier bout > du dernier fichier écrit qui reste oublié dans le cache. > > PS : les clef USB, les cartes mémoire, les disque SSD (tout ce qui est > de la mémoire flash en fait) n'ont pas de tete de lecture qui bouge. > Grouper ainsi les écritures n'économise en rien leur usure. Dans ce cas, > le cache est plus une source d'ennui qu'autre chose. Ca oblige a faire > une action manuelle pour prévenir le système qu'on va débrancher. Ca > fait des fichiers corrompus en cas de débranchement intempestif. Qui n'a > jamais eu de faux contact dans une prise USB ??? > > Et puis ca empeche de faire une barre de progression réaliste pour les > trucs avec une vitesse d'écriture un peu lente. > > Tu a peut etre remarqué que quand tu écris un gros fichier sur une clef > USB, au début la barre de progression avance super vite. Tu te dis > "super, ca va pas durer longtemps". Et puis la barre de progression > ralentit brusquement et sur la fin du fichier elle avance comme un > escargot, pendant que tu fulmine en disant "et alors, qu'est-ce que ca > attend, ca allait vite au début". Quand la copie est enfin terminée, tu > fais "ejecter la clef" et la ca se met a te faire poireauter encore un > bon moment avant de te dire "ca y est, vous pouvez retirer la clef sans > risque". > > Tout ca c'est la faute du cache. Au début ca va super vite parce que ca > n'écrit pas sur la clef mais dans le cache. Quand de cache est plein, ca > se met a écrire vraiment sur la clef, et la barre de progression > ralentit beaucoup. Ce n'est qu'a ce moment la que tu vois la vraie > vitesse d'écriture de la clef. Quand ca t'affiche que la copie est > finie, en fait ca veut dire que ca a fini d'écrire le fichier dans le > cache. Quand tu éjecte, ca force a écrire ce qui reste dans le cache, > c'est pour ca que ca met des plombes avant de te dire "vous pouvez > retirer sans risque". > > Je rève d'un système qui sache faire la différence entre les disques > mécaniques et les mémoires flash, pour utiliser automatiquement un cache > d'écriture sur les disques mécaniques mais PAS sur la mémoire flash. > >