La commande suivante fonctionne comme prévu...
cp -ur /home/abc/* /mnt/windowsabc/
Est-ce que rsync a un avantage quelconque sur lui ? Existe-t-il un meilleur moyen de synchroniser le dossier de sauvegarde toutes les 24 heures ?
La commande suivante fonctionne comme prévu...
cp -ur /home/abc/* /mnt/windowsabc/
Est-ce que rsync a un avantage quelconque sur lui ? Existe-t-il un meilleur moyen de synchroniser le dossier de sauvegarde toutes les 24 heures ?
Je préfère utiliser rsync avec les options suivantes
rsync -avhW --no-compress --progress --info=progress2 <src directory> <dst directory>
Les paramètres ci-dessus peuvent être définis comme suit :
-a for the archive to preserves ownership, permissions, etc.
-v for verbose
-h for human-readable
-W for copying whole files only
--no-compress as there's no lack of bandwidth between local devices
--progress to see the progress of large files
--info=progress2 to see the overall progress
source directory path
destination directory path
Pour une copie locale, le seul avantage de rsync est qu'il évitera de copier si le fichier existe déjà dans le répertoire de destination. La définition de "déjà existant" est (a) même nom de fichier (b) même taille (c) même horodatage. (Peut-être même propriétaire/groupe ; je ne suis pas sûr...)
L'algorithme "rsync" est excellent pour les mises à jour incrémentielles d'un fichier sur une liaison réseau lente, mais il ne vous apportera pas grand-chose pour une copie locale, car il doit lire le fichier existant (partiel) pour effectuer son calcul de "diff".
Donc, si vous exécutez fréquemment ce genre de commande, et que l'ensemble des fichiers modifiés est petit par rapport au nombre total de fichiers, vous devriez trouver que rsync est plus rapide que cp. (De plus, rsync a une fonction --delete
que vous pourriez trouver utile).
Gardez à l'esprit que lors d'un transfert de fichiers en interne sur une machine, c'est-à-dire sans transfert réseau, l'utilisation de la fonction -z Le drapeau peut avoir une différence massive dans le temps pris pour le transfert.
Transfert dans la même machine
Case 1: With -z flag:
TAR took: 9.48345208168
Encryption took: 2.79352903366
CP took = 5.07273387909
Rsync took = 30.5113282204
Case 2: Without the -z flag:
TAR took: 10.7535531521
Encryption took: 3.0386879921
CP took = 4.85565590858
Rsync took = 4.94515299797
Si vous utilisez cp ne sauvegarde pas les fichiers existants lors de la copie de dossiers de même nom. Disons que vous avez les dossiers suivants :
/myFolder
someTextFile.txt
/someOtherFolder
/myFolder
wellHelloThere.txt
Puis vous copiez l'un sur l'autre :
cp /someOtherFolder/myFolder /myFolder
résultat :
/myFolder
wellHelloThere.txt
C'est en tout cas ce qui se passe sous macOS et je voulais préserver les fichiers de différence, j'ai donc utilisé rsync.
J'ai utilisé rsynk pour transférer 330G de données d'un disque dur local vers un disque dur externe via USB 3.0. Cela m'a pris trois jours. Le taux de transfert est descendu à 800 Kb/s et est remonté à 50 M/s pendant un certain temps, seulement après avoir mis le travail en pause. C'est un problème typique d'overbuffering. Mauvaise expérience pour les transferts de fichiers locaux : comme son nom l'indique, (R)sync signifie REMOTE-sync (optimisé pour les transferts via le réseau). Comme cela arrive souvent, je n'ai découvert le drapeau "-z" qu'après m'être interrogé sur le problème et avoir cherché une explication.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.