J'utilise rsync pour synchroniser un répertoire sur mon disque dur USB externe. C'est environ 150 Go de données. Plus de 50000 fichiers, je suppose.
Il est en train de lancer sa première synchronisation pour le moment, mais sa copie s'effectue à un taux de seulement 1 à 5 Mo / s. Cela semble incroyablement lent pour un boîtier USB 2.0. Il n'y a pas d'autre transfert sur le lecteur non plus.
Voici les options que j'ai utilisées:
rsync -avz --progress /mysourcefolder /mytargetfolder
J'utilise Ubuntu Server 9.10.
usb
ubuntu-9.10
usb-flash-drive
rsync
Jake Wilson
la source
la source
tar
commandes oucpio
.Réponses:
Pour la première synchronisation, utilisez simplement
rsync n’ajoute de surcharge que lorsque la destination est vide.
aussi .. l'option -z tue probablement votre performance, vous ne devriez pas l'utiliser si vous ne transférez pas de données sur un lien lent.
la source
rsync -avz --progress /mysourcefolder/ /mytargetfolder
ou vous obtiendrez une copie demysourcefolder
à l'intérieur demytargetfolder
plutôt que de refléter le contenuSi vous utilisez rsync avec un réseau rapide ou un disque à l’autre sur le même ordinateur,
ne pas en utilisant la compression -z
et en utilisant --inplace
accélérez les performances des disques durs ou du réseau
la compression utilise beaucoup de CPU
ne pas utiliser inplace rend le disque dur thrash beaucoup (il utilise un fichier temporaire avant de créer le fichier final)
compression & amp; ne pas utiliser inplace est préférable pour le faire sur Internet (réseau lent)
NOUVEAU: soyez conscient de la destination ... s'il existe une "compression" NTFS activée ... cela ralentit considérablement les gros fichiers (je dirais plus de 200 Mo) rsync semble presque bloqué, c'est à cause de cela.
la source
Utilisez le
-W
option. Ceci désactive les comparaisons delta / diff. Lorsque la durée et la taille du fichier diffèrent, rsync copie l'intégralité du fichier.Enlevez aussi le
-z
option. Ceci n’est utile que pour la compression du trafic réseau.À présent
rsync
devrait être aussi rapide quecp
.la source
-z
n'est utile que pour faible vitesse trafic réseau. Si votre réseau est suffisamment rapide, les choses ralentiront, car vous serez limité par le processeur.-W
: "Ceci est la valeur par défaut lorsque la source et la destination sont spécifiées en tant que chemins locaux, mais uniquement si aucune option d'écriture par lot n'est en vigueur."Premièrement, le nombre de fichiers dans ce cas va être un facteur majeur. C'est une taille moyenne de 3 Mo chacun. Il y a probablement un goulot d'étranglement qui influence la vitesse dans le cas du PO. Plus ici - C'est une lecture plutôt sèche, mais la photo de couverture en vaut la peine.
Alors, en utilisant rsync pour copier dans un répertoire vide? Voici quelques moyens pour l'accélérer:
rsync -a /source /destination >/somewhere/rsync.out 2>/somewhere/rsync.err
- le premier & gt; En gros, imprime un fichier avec tout ce que vous verriez normalement, et le 2 & gt; fait référence aux messages d'erreur.Ma commande serait:
rsync -avAXEWSlHh /source /destination --no-compress --info=progress2 --dry-run
Si tout semblait bien aller, je supprimerais "--dry-run" et le laisserais tomber. A, X et E couvrent les attributs étendus et les autorisations non couvertes par -a, l pour les liens symboliques, H pour les liens concrets et h pour les informations lisibles.
La mise à jour d'un répertoire déjà synchronisé sur un lecteur USB, le même lecteur ou un réseau nécessite des commandes rsync différentes pour optimiser la vitesse de transfert.
Prime - voici la page de manuel rsync et si vous voulez tester la vitesse de votre disque dur, bonnie ++ est une bonne option, et pour la vitesse de votre réseau, essayez iperf .
* La publication a presque dix ans, mais les moteurs de recherche l’apprécient, et je la vois toujours. C'est une bonne question, et je ne pense pas que la meilleure réponse à "comment accélérer rsync" devrait être "utiliser cp à la place".
la source
Vous ne dites pas quelle est la distribution de taille de vos fichiers. S'il y a beaucoup de petits fichiers, cela réduira le taux de transfert global en augmentant le temps de latence des mouvements de la tête dans les lecteurs source et cible, à mesure que l'outil ouvre de nouveaux fichiers et que le système d'exploitation conserve les entrées de répertoire et autres métadonnées (telles que le journal du système de fichiers utilisé). la journalisation de métadonnées comme ext3 / ext4 et NTFS le fait par défaut) à jour pendant le transfert. Un processus de copie de fichier n'entraînera sa progression que pour les objets volumineux, lorsqu'un simple transfert en masse est en cours.
la source