Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/02/2020, à 19:14

Jarodd

[Résolu] Interprêter les résultats de rsync

Bonjour,

J'ai des photos sur mon disque dur, que j'ai sauvegardé sur un second disque.
Maintenant, j'essaye de faire un script avec rsync pour faire une synchro quotidienne. Je fais une simulation avec l'option -n :

rsync -n    -g -o -p -r -t -v --progress -s /path/to/sources/photos /path/to/dest/photos

Avec le verbose, j'ai la liste des fichiers qui s'affichent :

...
Photos/rep1/
Photos/rep1/file_001.jpg
Photos/rep1/file_002.jpg
...

J'ai également passé les options qui préservent les droits, le propétaire, le timestamps,... bref tout pour avoir une copie la plus fidèle possible du répertoire d'origine.

Le script donne ce résultat :

sent 1,601,071 bytes  received 202,028 bytes  3,606,198.00 bytes/sec
total size is 442,379,265,741  speedup is 245,343.86 (DRY RUN)
### Fin de synchronisation ###

Actuellement les dossiers sont synchronisés (copies manuelles). Mais je ne comprends pas pourquoi j'ai autant de "bytes" qui sortent dans le rapport : est-ce que cela signifie que les fichiers sont différents ? Comment puis-je m'assurer de ne pas foirer les fichiers de sauvegarde ? A leur tour ils sont sauvegardés dans un cloud privé, et seraient réuploadés au moindre changement...

Merci pour votre aide.

Dernière modification par Jarodd (Le 01/03/2020, à 07:27)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#2 Le 22/02/2020, à 01:19

kamaris

Re : [Résolu] Interprêter les résultats de rsync

C'est quoi le système de fichiers sur le disque cible ?
Pour le savoir :

df -T /path/to/dest/photos

Hors ligne

#3 Le 22/02/2020, à 08:30

bruno

Re : [Résolu] Interprêter les résultats de rsync

Bonjour,

Il y a très peu de données échangées : 1,6 Mo envoyés et 202 Ko reçu.

Hors ligne

#4 Le 22/02/2020, à 11:04

Jarodd

Re : [Résolu] Interprêter les résultats de rsync

@kamaris :

Sys. de fichiers Type blocs de 1K    Utilisé Disponible Uti% Monté sur
/dev/sdc1        ext4  3844660232 2469718424 1179574592  68% /path/to/dest

@bruno :
C'est ce que je me disais aussi.
Mais j'ai lancé la synchro sans simulation sur un petit sous-répertoire, et l'outil de sauvegarde dans le cloud (spideroak one) a détecté que les fichiers ont changé. Pourtant j'ai mis les options pour conserver le max de méta-données : groupes, user, permissions, date,... Et je n'arrive pas à déterminer quelle option il faudrait pour que les photos soient synchronisées sans changer celles qui sont déjà sauvegardées. En gros je voudrais juste ajouter les nouvelles, sans toucher aux anciennes.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#5 Le 22/02/2020, à 11:15

kamaris

Re : [Résolu] Interprêter les résultats de rsync

Au niveau système de fichiers c'est ok.
Quant aux options que tu as mises, elles sont convenables, mais tu aurais plus simplement pu mettre l'option -a :

man rsync a écrit :

-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

À moins d'avoir une raison particulière d'éliminer les options -l et -D ?
Sinon le volume de données mis à jour est effectivement mineur, et si rsync le fait, c'est qu'il doit avoir une bonne raison : timestamp ou taille qui ont changé sur les fichiers concernés.

Dernière modification par kamaris (Le 22/02/2020, à 11:16)

Hors ligne

#6 Le 22/02/2020, à 11:21

Jarodd

Re : [Résolu] Interprêter les résultats de rsync

Non pas de raison particulière. J'ai épluché le man et j'ai pioché les options qui m'ont paru bonnes, j'en ai oublié big_smile Je vais donc mettre le -a.
Comment vérifier toutes les données des fichiers ? Je le fais avec nautilus, nemo, double-commander, ce qui est affiché me semble correct, mais ces programmes n'affichent peut-être pas tout.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#7 Le 22/02/2020, à 11:29

kamaris

Re : [Résolu] Interprêter les résultats de rsync

Entendons-nous bien : l'option -a remplace les options -g -o -p -r -t de ta ligne de commande en #1 (je préfère éviter toute confusion).
Sinon, que veux tu dire par « Comment vérifier toutes les données des fichiers ? »
Tu veux vérifier que rsync a une bonne raison de mettre à jour les fichiers qu'il liste lors du dry run ?
Si c'est cela, il suffit de comparer les retours de

ls -l fichier

sur la source et sur la cible, pour chaque fichier concerné : la taille ou la date de modification doivent être différentes.

Hors ligne

#8 Le 22/02/2020, à 11:49

bruno

Re : [Résolu] Interprêter les résultats de rsync

Mais j'ai lancé la synchro sans simulation sur un petit sous-répertoire, et l'outil de sauvegarde dans le cloud (spideroak one) a détecté que les fichiers ont changé.

Donc a priori le problème ne vient pas de rsync mais de l'autre machin « cloud »

Et je n'arrive pas à déterminer quelle option il faudrait pour que les photos soient synchronisées sans changer celles qui sont déjà sauvegardées.

Cela doit fonctionner sans problème avec rsync.

Hors ligne

#9 Le 24/02/2020, à 07:43

Jarodd

Re : [Résolu] Interprêter les résultats de rsync

Bonjour,

J'ai comparé avec ls, tous les attributs sont identiques : permissions, proprio/groupe, date. Pourtant il y a quelque chose qui déclenche un nouvel upload dans la sauvegarde cloud. Comme s'il y avait un attribut "a été lu pour la dernière fois le" qui est modifié (et que je ne vois pas apparaître avec un ls). Ca arrive à chaque fois que je lance la commande rsync, donc c'est bien elle qui déclenche cette modification, mais je ne trouve pas laquelle. J'ai aussi testé avec doublecommander et l'option "contenu" coché, pour voir di un octet du contenu était modifié, en plus des attributs.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#10 Le 24/02/2020, à 08:43

bruno

Re : [Résolu] Interprêter les résultats de rsync

Cela semble confirmer que le problème vient de ton application « cloud ».
rsync ne modifie pas l'horodatage (timestamps) des fichiers avec l'option -t ou -a.
Pour information chaque fichier a trois dates :
- date de la dernière modification (écriture)
- date du dernier accès (lecture)
- date de la dernière modification des permissions (droits, propriétaire, groupe)
Tu peux voir ces dates et comparer entre deux passages de rsync avec la commande :

stat nom_du_fichier

Hors ligne

#11 Le 24/02/2020, à 11:50

kamaris

Re : [Résolu] Interprêter les résultats de rsync

Est-ce que ton application cloud ne sauvegarderait pas des choses dans un (ou plusieurs) fichier caché du répertoire cible de rsync (qui se trouve être également le répertoire source de l'appli cloud) ?
Si tel est le cas, rsync ne trouvant pas ce fichier dans sa source, le supprimerait, réinitialisant ainsi l'application cloud qui démarrerait un nouvel upload.

EDIT : ah non, probablement pas, car tu n'as pas mis l'option --delete apparemment, à moins que ce soit le cas chez toi ?

Dernière modification par kamaris (Le 24/02/2020, à 11:55)

Hors ligne

#12 Le 24/02/2020, à 17:48

Jarodd

Re : [Résolu] Interprêter les résultats de rsync

Bonjour,
Non je n'ai pas mis --delete.
Concernant les permissions, je suis un peu paumé. Comme tu l'as dit kamaris, j'essaye de trouver où ça cloche en comparant les fichiers avec ls -l. J'ai des différences entre la source et la destination. Mais un chmod -R 755 dest/ n'agit pas, les fichiers conservent les mêmes permissions (souvent 777). Je suis le proprio (et groupe identique au proprio). Pourquoi le chmod n'agit pas ?
Je vais aussi faire les stats entre les rsync.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#13 Le 24/02/2020, à 20:13

kamaris

Re : [Résolu] Interprêter les résultats de rsync

C'est bizarre ton histoire.
Pour y voir plus clair, il faudrait que tu donnes des retours de commandes complets, en mettant à chaque fois l'option --verbose (ou assimilée) sur les commandes en question, avec un état des lieux avant / après synchronisation.

Hors ligne

#14 Le 25/02/2020, à 08:36

bruno

Re : [Résolu] Interprêter les résultats de rsync

Jarodd a écrit :

Mais un chmod -R 755 dest/ n'agit pas, les fichiers conservent les mêmes permissions (souvent 777). Je suis le proprio (et groupe identique au proprio). Pourquoi le chmod n'agit pas ?

Il y a peu de cas où un chmod lancé par le propriétaire du fichier ne fonctionne pas. J'en vois principalement deux :
- le système de fichiers est monté en lecture seule ;
- les système de fichiers ne gère pas les droits UNIX.

Dernière modification par bruno (Le 25/02/2020, à 08:37)

Hors ligne

#15 Le 25/02/2020, à 09:51

moko138

Re : [Résolu] Interprêter les résultats de rsync

bruno a écrit :

- date du dernier accès (lecture)

+1

Mais quelle est l'option qui écarte la date de dernier accès ?


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#16 Le 25/02/2020, à 10:24

bruno

Re : [Résolu] Interprêter les résultats de rsync

Je précise donc :

bruno a écrit :

Pour information chaque fichier a trois dates :
- date de la dernière modification (écriture)
- date du dernier accès (lecture)
- date de la dernière modification des permissions (droits, propriétaire, groupe)

- la date de modification ou mtime : date à laquelle le contenu du fichier a été modifié.
- date du dernier accès ou atime : date à laquelle le fichier a été ouvert (par un éditeur quelconque, y compris cat, less, more, etc.)
- date de la dernière modification des permissions ou ctime : date à laquelle les méta-données du fichier ont été modifiées (type de fichier, inode, droits, propriétaire, groupe, etc.)

À ma connaissance rsync ne se préoccupe pas de atime, c'est à dire la date d'accès mais uniquement des dates de modification. Normalement (sauf option --ignore-times) ignore les fichiers qui ont la même taille et la même date de modification sur la source et la destination.

Hors ligne

#17 Le 26/02/2020, à 19:13

Jarodd

Re : [Résolu] Interprêter les résultats de rsync

Bonjour,

Je viens de faire un test sur un fichier txt.
rsync lancé vers 18h.
Sur le txt, j'ai ceci :

$ stat /path/to/file.txt 
  Fichier : /path/to/file.txt
   Taille : 1605      	Blocs : 8          Blocs d'E/S : 4096   fichier
Périphérique : 832h/2098d	Inœud : 68937       Liens : 1
Accès : (0777/-rwxrwxrwx)  UID : ( 1000/ jarodd)   GID : ( 1000/ jarodd)
Accès : 2020-02-26 18:01:29.457321300 +0100
Modif. : 2020-02-16 09:37:16.078907600 +0100
Changt : 2020-02-26 18:01:29.457321300 +0100
  Créé : -

Il a bien été "accédé" par rsync. Et je suppose que dans la sauvegarde cloud, il est détecté comme ayant changé, donc est resauvegardé (mais je ne sais pas si c'est l'accès ou le changement qui compte).

Concernant le chmod qui ne passe pas, le système de fichiers n'est pas monté en lecture seule (ou alors je n'explique pas comment je modifie les fichiers, ou en crée de nouveaux lol). Ceci dit je peux en douter, comment le vérifier ? (c'est un disque dur monté automatiquement au démarrage, rien dans fstab).
Et il est formaté en ext4, donc je suppose que cela supporte les permissions ?


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#18 Le 26/02/2020, à 19:36

melixgaro

Re : [Résolu] Interprêter les résultats de rsync

salut,
Et oui, rsync “touche” les fichiers.
en fait, non…

Dernière modification par melixgaro (Le 26/02/2020, à 20:06)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#19 Le 26/02/2020, à 19:43

Jarodd

Re : [Résolu] Interprêter les résultats de rsync

Pas tous. Seuls les txt sont impactés ici. Les autres (mp3, mp4, avi, dossiers, ...) ont leurs dates d'accès et de modif antérieures au dernier rsync.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#20 Le 26/02/2020, à 20:08

kamaris

Re : [Résolu] Interprêter les résultats de rsync

Jarodd a écrit :

Concernant le chmod qui ne passe pas…

… il faut le retour de commande complet, avec l'option --verbose smile
Si on reprend ton message #12, ça donnerait

chmod -Rv 755 dest/

C'est probablement lié, car selon le retour que tu donnes en #17, rsync a modifié les droits de ton fichier /path/to/file.txt
Mais c'est difficile de se prononcer, car bien malheureusement, tu ne nous donnes que des retours très partiels.
En particulier, quel est le retour de ls -l ou stat sur le fichier texte source ?
Ne serait-il pas exécutable ? Ne serait-ce pas pour cela que tu as l'impression que le chmod 755 n'agit pas : en fait il agit, mais comme le fichier source a les droits 777, quand tu lances rsync, il remet les droits 777 ?

Dernière modification par kamaris (Le 26/02/2020, à 20:09)

Hors ligne

#21 Le 26/02/2020, à 20:44

bruno

Re : [Résolu] Interprêter les résultats de rsync

@kamaris : je plussoie wink

Je peux confirmer que rsync ne modifie aucunement les dates des fichiers et qu'il ne tient pas compte de la date d'accès.

Il va falloir nous expliquer pourquoi de simples fichiers texte sont exécutables…
Et surtout nous donner de vrais retours de commandes, complets et non maquillés.

Hors ligne

#22 Le 26/02/2020, à 21:02

melixgaro

Re : [Résolu] Interprêter les résultats de rsync

Oui, je me suis planté. Je ne sais pas pourquoi j'avais la vague idée que le rsync modifier le “access time” mais en fait, non. J'ai fait l'expérience (avec l'option -a) après avoir publié mon message (ce qui est idiot d'avoir agit dans cet ordre big_smile).

Sinon, d'accord avec vous sur le fait que l'information fournie est trop partielle pour établir un diagnostique.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#23 Le 26/02/2020, à 21:23

moko138

Re : [Résolu] Interprêter les résultats de rsync

bruno a écrit :

Je peux confirmer que rsync (...)ne tient pas compte de la date d'accès.

Merci de l'info.  smile


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#24 Le 29/02/2020, à 15:12

Jarodd

Re : [Résolu] Interprêter les résultats de rsync

Bonjour,

Je vais essayer d'être le plus complet possible smile

Sur le répertoire source :

$ ls -l /media/jarodd/disque1/rep1/
total 8735772
-rwxr-xr-x 1 jarodd jarodd 172119443 févr. 11 16:25 file1.mp4
-rwxr-xr-x 1 jarodd jarodd 171668879 févr. 11 16:25 file2.mp4

Je lance rsync avec les options décrites plus haut. sur la destination, j'ai ceci :

$ ls -l /media/jarodd/disque2/rep1/
total 8735740
-rwxrwxrwx 1 jarodd jarodd 172119443 févr. 11 16:25 file1.mp4
-rwxrwxrwx 1 jarodd jarodd 171668879 févr. 11 16:25 file2.mp4

Les droits ne sont donc pas les mêmes.
J'applique le chmod :

$ chmod -Rv 755 /media/jarodd/disque2/rep1/
le mode de 'rep1/' a été modifié de 0777 (rwxrwxrwx) en 0755 (rwxr-xr-x)
le mode de 'rep1/file1.mp4' a été modifié de 0777 (rwxrwxrwx) en 0755 (rwxr-xr-x)
le mode de 'rep1/file2.mp4' a été modifié de 0777 (rwxrwxrwx) en 0755 (rwxr-xr-x)

Immédiatement après, je relance la commande pour vérifier les permissions :

$ ls -l /media/jarodd/disque2/rep1/
total 8735740
-rwxrwxrwx 1 jarodd jarodd 172119443 févr. 11 16:25 file1.mp4
-rwxrwxrwx 1 jarodd jarodd 171668879 févr. 11 16:25 file2.mp4

C'est exactement pareil qu'avant le chmod. Comme je le disais, le chmod n'a pas changé les droits, malgré ce que dit le log.
Ou bien il les change bien, mais je ne sais pas ce qui les fait revenir à 777. Je n'ai rien lancé d'autre entre temps.

Ca, c'était pour des fichiers mp4, dont les dates sont bien identiques après le rsync (comme vous le voyez elle est au 11 février sur les deux disques, la source et la destination).
Maintenant je vais faire la même chose, sur des fichiers texte, puisque c'est eux n'ont pas les mêmes dates après le rsync.
(je précise que je n'ai pas trouvé d'option verbose pour stat, mais c'est déjà plus verbeux qu'un ls, donc cela convient peut-être)

$ ls -l /media/jarodd/disque1/rep1/rep1.txt
-rwxr-xr-x 1 jarodd jarodd 1346 mars  27  2018 rep1.txt

Puis avec stat :

$ stat rep1.txt 
  Fichier : rep1.txt
   Taille : 1346      	Blocs : 8          Blocs d'E/S : 4096   fichier
Périphérique : 821h/2081d	Inœud : 142344796   Liens : 1
Accès : (0755/-rwxr-xr-x)  UID : ( 1000/ jarodd)   GID : ( 1000/ jarodd)
Accès : 2020-02-24 19:35:52.939346489 +0100
Modif. : 2018-03-27 18:22:49.000000000 +0200
Changt : 2020-02-24 19:15:13.442891793 +0100
  Créé : -

Je fais la même chose sur le disque de destination :

$ ls -l /media/jarodd/disque2/rep1/rep1.txt
-rwxrwxrwx 1 jarodd jarodd 1346 mars  27  2018 rep1.txt

Les permissions sont différentes, mais les dates sont bien identiques.
Je fais ensuite un stat :

$ stat rep1.txt 
  Fichier : rep1.txt
   Taille : 1346      	Blocs : 8          Blocs d'E/S : 4096   fichier
Périphérique : 841h/2113d	Inœud : 122661      Liens : 1
Accès : (0777/-rwxrwxrwx)  UID : ( 1000/ jarodd)   GID : ( 1000/ jarodd)
Accès : 2020-01-25 21:09:59.981476000 +0100
Modif. : 2018-03-27 18:22:49.000000000 +0200
Changt : 2020-01-12 20:34:13.009429300 +0100
  Créé : -

Les dates sont différentes du même fichier sur le disque1. Elles restent les mêmes après un rsync, alors que je pensais qu'elles seraient (devraient ?) identiques à celles du fichier source.

Voilà j'epère que c'est suffisant smile Encore merci pour votre aide.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#25 Le 29/02/2020, à 15:29

moko138

Re : [Résolu] Interprêter les résultats de rsync

Pour les droits, une hypothèse est que la différence découle de ceux de /media/jarodd/disque2.
C'est un sujet que je ne maîtrise pas, mais tu devrais montrer

ls -l /media/jarodd/disque2

à ceux qui, comme Coeur Noir, pratiquent couramment la gestion fine et récursive des droits.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne