Comprendre la sortie de --info = progress2 de rsync

72

Si je cours rsyncavec --info=progress2, je reçois une sortie comme

105.45M  13%  602.83kB/s    0:02:50 (xfr#495, ir-chk=1020/3825)

Mais que signifient les nombres simples? Je n'ai pas trouvé d'entrée correspondante dans la page de manuel.

  • Le premier nombre semble être la quantité de données qui a été traitée (les octets réellement copiés ainsi que les octets ignorés, car ils existaient déjà à l'emplacement cible), n'est-ce pas? Cela ne semble pas être le nombre de données transférées, car elles augmentent plus rapidement que ma connexion Internet ...
  • Le pourcentage fait-il référence à la quantité de données ou au nombre de fichiers à copier? Considère-t-il les fichiers exclus et les fichiers qui sont déjà à jour à l'emplacement cible?
  • Le temps passé en troisième position semblait être une estimation du temps nécessaire à l’achèvement, mais lorsque j’ai essayé, j’ai sauté entre quelques heures et quelques secondes. À quoi se réfère-t-il et comment est-il calculé?
  • Que signifient les deux derniers chiffres?
muffel
la source
1
Avez-vous essayé la manpage ( OPTIONS > --progress)?
don_crissti
1
voir unix.stackexchange.com/questions/231647/… où le problème est résolu.
shirish

Réponses:

90
105.45M 13% 602.83kB/s 0:02:50 (xfr#495, ir-chk=1020/3825)

Signifie que:

  • Le destinataire / destination a jusqu'à présent reconstruit 105,45 mégaoctets (ou 13% ) des quelque 811,15 mégaoctets (100%) des fichiers de l'expéditeur / source.
  • Ces fichiers sont en cours de reconstruction à un débit de 602,83 kilo-octets par seconde et cette opération de transfert de données a jusqu’à présent pris 2 minutes et 50 secondes (temps écoulé).

En outre, xfr # 495 signifie que le 495ème fichier est actuellement en cours de transfert, tandis que ir-chk = 1020/3825 indique que, sur un total de 3825 fichiers (jusqu'à présent) analysés de manière récursive (détectés), 1020 sont encore à vérifier / vérifier.

Cela signifie que si l'analyse détecte par exemple plus de 100 fichiers à vérifier, les deux côtés seront incrémentés de 100 (le résultat sera ir-chk = 1120/3925 ). Une fois que tous les fichiers ont été analysés (détectés par l'analyse de récursion incrémentielle), le nombre figurant à droite de la barre oblique reste identique jusqu'à la fin du processus, tandis que celui figurant à gauche de la barre oblique commence à diminuer. car de plus en plus de fichiers sont vérifiés (vérifiés). De plus, en raison de la fin de la récursivité, ir-chk passera à to-chk, indiquant que l’analyse de récursion incrémentielle a fini de vérifier (opération de détection de fichier). Néanmoins, étant donné que les fichiers continueront à être vérifiés / vérifiés jusqu’à ce qu’ils le soient tous, le nombre de fichiers restant à vérifier / vérifier (côté gauche de la barre oblique) diminuera jusqu’à ce que ce nombre devienne nul (indiquant la fin du processus de vérification du fichier). .

Laissez N soit le réel nombre total de fichiers à vérifier / vérifié, lorsque l' ensemble du processus se termine , vous verrez:

to-chk=0/N

... signifiant qu'il ne reste plus aucun fichier à vérifier / vérifier, sur un total de N fichiers détectés par l'analyse de récursion incrémentielle.

À propos de ir-chk (extrait de la page de manuel de rsync):

Dans une analyse de récursion incrémentielle, rsync ne connaît pas le nombre total de fichiers dans la liste de fichiers jusqu'à ce qu'elle atteigne la fin de l'analyse. Toutefois, comme il commence à transférer des fichiers pendant l'analyse, il affiche une ligne avec le texte " ir-chk "(pour la vérification de la récursion incrémentielle) au lieu de" to-chk "jusqu'au moment où il connaît la taille complète de la liste, puis passera à" to-chk ". Ainsi, voir "ir-chk" vous indique que le nombre total de fichiers dans la liste de fichiers va continuer à augmenter (et chaque fois que cela se produira, le nombre de fichiers qu'il reste à vérifier augmentera en fonction du nombre de fichiers ajoutés à la liste).

Yuri Sucupira
la source
4
Une correction mineure: le 2:50 n'est pas un ETA - c'est le temps écoulé jusqu'à présent.
Sneak
4
@YuriSucupira Ma réponse est à ce commentaire. J'ai tendance à toujours l'utiliser --no-inc-recursive, mais ce n'est pas ce dont je parle. Le temps ETA entrant progress2est basé sur le total des données (connues) et le temps écoulé; ce n'est pas fichier par fichier (mais fait clignoter la valeur du temps écoulé pour un fichier unique pour une coche après l'achèvement d'un fichier unique). Il y avait un bogue impliquant cela à un moment donné qui rendrait ceci moins clair, bien que je ne sois pas sûr de la version dans laquelle il se trouve
Izkata
2
@Izkata Je me souviens d’avoir testé rsync à ce moment-là (le 17 juillet 2016), avant de faire une déclaration ici, juste pour m'assurer que l'ETA était par fichier plutôt que global, et j'étais alors «visuellement convaincue» qu'il s'agissait d'un fichier ETA. J'utilisais XUbuntu 14.04 (je ne me souviens plus de la version de rsync utilisée). Quoi qu'il en soit, j'ai installé XUbuntu 16.04 (il est livré avec rsync 3.1.1-3ubuntu1) il y a quelques mois et je peux confirmer (visuellement) que rsync -a --info=progress2 /src /destle temps total écoulé s'affiche en alternance avec l' ETA global , au lieu d'ETA par fichier. C'est étrange et nouveau pour moi, mais vous avez raison.
Yuri Sucupira
4
@wingedsubmariner Pendant la copie d'un fichier - par exemple, file1-, rsync vous montre l'ETA global (actuel) pour l'ensemble du processus de copie. Puis, une fois la copie terminée file1, rsync vous indique le temps écoulé global (actuel), puis commence à copier le fichier suivant - par exemple, file2-, vous montrant ainsi à nouveau l'ETA global (actuel) jusqu'à la file2fin du processus de copie, puis rsync. vous montre le nouveau temps écoulé total (incrémenté). C'est pourquoi vous voyez ces "sauts": c'est parce que vous voyez un ETA global (total) décroissant alternant avec le temps écoulé global (total) croissant.
Yuri Sucupira
2
@ijoseph Yup, la page de manuel ne mentionne que le comportement de l'ETA. C'est l'une des raisons probables pour lesquelles tant de gens se sentent déconcertés par le comportement de l'assurance-chômage pendant le processus de reconstruction. J'ai moi-même dû faire très attention à ce processus pendant un certain temps, jusqu'à ce que je puisse enfin dévoiler ses "mystères". :)
Yuri Sucupira