GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi rsync n'utilise-t-il pas delta-transfer pour les fichiers locaux ?

D'après la page de manuel, psusi a raison :

-W, --whole-file :Le transfert peut être plus rapide si cette option est utilisée lorsque la bande passante entre les machines source et destination est supérieure à la bande passante vers le disque (surtout lorsque le "disque" est en fait un système de fichiers en réseau). Il s'agit de 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 lots n'est en vigueur.


La réponse directe à cette question est :

Utilisez le --no-W drapeau pour forcer la compression delta, qu'elle soit locale ou distante.

Mise à jour : Il semble qu'il y ait plus dans l'histoire. Le delta compression semble être activé uniquement entre les processus de réception et de transmission de rsync. Lors de la sortie du fichier dans le système de fichiers, rsync peut toujours écrire le(s) fichier(s) entier(s), même avec la compression delta activée.

Voir l'enquête de "Wakan Tanka" ici.

Mise à jour 2 : Le --inplace L'option écrit uniquement les parties modifiées du fichier. Notez cependant qu'il est en conflit avec --sparse et n'est pas recommandé, par le manuel, lorsque le fichier de destination est utilisé.


Par défaut, rsync crée d'abord une nouvelle copie du fichier cible, puis le remplace, pour diverses raisons de sécurité. Vous pouvez remplacer cela en spécifiant --inplace avec --no-whole-file . Cela indique à rsync d'effectuer une modification sur place du fichier cible, en acceptant les divers risques (généralement mineurs pour cette situation) comme documenté dans la page de manuel.


Linux
  1. Pourquoi Find -mtime +1 ne renvoie-t-il que les fichiers de plus de 2 jours ?

  2. Pourquoi utiliser shm_open ?

  3. Pourquoi Linux utilise-t-il une partition swap plutôt qu'un fichier ?

  4. Pourquoi rsync ne parvient-il pas à copier les fichiers de /sys sous Linux ?

  5. Comment supprimer les fichiers .fuse_hidden* ?

Pourquoi j'utilise exa au lieu de ls sous Linux

Comment utiliser CherryTree pour la prise de notes

Commande ls sous Linux pour lister les fichiers

Quand et pourquoi devrais-je utiliser Apt-get Update ?

Attendre la fin du téléchargement de plusieurs fichiers ?

Pourquoi Gedit continue-t-il d'ouvrir de nouvelles instances au hasard lors de l'ouverture de fichiers depuis Nautilus ?