#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.
#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 :
-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é 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.
#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
#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
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)
#15 Le 25/02/2020, à 09:51
- moko138
Re : [Résolu] Interprêter les résultats de rsync
- 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 :
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.
#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 ). 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
Concernant le chmod qui ne passe pas…
… il faut le retour de commande complet, avec l'option --verbose
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
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.
#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 ).
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
Je peux confirmer que rsync (...)ne tient pas compte de la date d'accès.
Merci de l'info.
%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
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 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