Commande rSync et attributs étendus

LossId

Membre actif
5 Août 2007
165
0
Bonjour,

Mon problème est simple, je veux utiliser une commande rSync pour sauvegarder certains dossiers. J'ai des fichiers 'invisible' qui deviennent 'visible' suite à la copie par la commande.

Après avoir regardé les fichiers via un ls -FlArth, je m'aperçois qu'ils sont identique à une différence près... Celui qui as était copié ce retrouve avec un @ directement collé aux droits du fichier.

Après Google, je tente ma chance ici car je n'ai toujours pas résolu mes deux problèmes :
1 / Que représente cet attribut ?
2 / Comment faire pour que la commande rSync ne modifie pas de cette manière mes fichiers ?

Je n'ai pas vu d'option pour cela, sachant que j'utilise quand même au moins l'option a pour préserver tout ce qui est date, user, groupe, link, ...

Merci pour votre aide.
 
Dernière édition:
Cette commande rsync, tu l'utilises de machine à machine ou, au sein d'une machine d'un endroit à un autre (sur le même disque ou de disque à disque, peu importe) ?

Dans le premier cas, essaye l'option -E.

Dans le deuxième cas, il te suffirait de passer à la command ditto qui sait mieux conserver les différents attributs des fichiers en état.
 
Cette commande rsync, tu l'utilises de machine à machine ou, au sein d'une machine d'un endroit à un autre (sur le même disque ou de disque à disque, peu importe) ?

Dans le premier cas, essaye l'option -E.

Dans le deuxième cas, il te suffirait de passer à la command ditto qui sait mieux conserver les différents attributs des fichiers en état.

Pour mes tests, actuellement je l'utilise sur la même machine et sur le même disque et au même endroit. Deux dossiers distincts bien sur mais sur le Bureau.

Au final, je voudrais mettre ça dans un script exécuté par un cron pour sauvegarder mes fichiers sur un NAS.

Je viens d'essayer avec l'option E et effectivement le fichier n'apparait pas.

Est-ce que la commande ditto est aussi complète que rSync et peut-elle être utilisé avec un NAS ? Je vais regardé mais j'anticipe :)

Merci pour ta réponse.


EDIT : haha, je n'avais pas regardé le man dans le Terminal mais sur le site de Developpez !!! Effectivement le E est pour les extensions d'attributs. Y'a t'il un endroit sur le net où sont détaillé ces attributs, mes recherches restes sans résultats.

EDIT 2 : j'ai regardé le man de la commande ditto et je vois qu'elle est largement inférieure en terme d'options par apport à la commande rsync. Et pour copier sur un NAS, je pense que c'est mort. De plus avec l'option E et a plus H tout est conservé à priori. Enfin, dis moi si je me trompe...
 
Dernière édition:
Mac OS X est un UNIX un peu particulier à divers titres et notamment sur la gestion des fichiers [système de fichiers non-sensible à la casse par défaut, attributs divers, ressources ...].
Donc les commandes qui agissent sur les fichiers ont souvent de petites options qui ne sont pas indiquées dans les pages de manuel de leur version *BSD, Linux, AIX etc.

C'est le cas pour (je cite de mémoire) cp, mv, zip etc.

Il vaut donc mieux regarder les pages de manuel de Mac OS X, sur ton Mac ou en ligne sur le site d'Apple (ici).

ditto est très complète mais est une commande locale, pas une commande réseau comme rsync peut l'être quand elle s'adresse à un service rsyncd distant.

Mais comme les volumes du NAS montés sur la machine sont vus comme des volumes locaux : ditto devrait faire l'affaire. Mais maintenant que ton rsync marche, tu peux aussi bien rester avec lui. ;)
 
Mac OS X est un UNIX un peu particulier à divers titres et notamment sur la gestion des fichiers [système de fichiers non-sensible à la casse par défaut, attributs divers, ressources ...].
Donc les commandes qui agissent sur les fichiers ont souvent de petites options qui ne sont pas indiquées dans les pages de manuel de leur version *BSD, Linux, AIX etc.

C'est le cas pour (je cite de mémoire) cp, mv, zip etc.

Il vaut donc mieux regarder les pages de manuel de Mac OS X, sur ton Mac ou en ligne sur le site d'Apple (ici).

ditto est très complète mais est une commande locale, pas une commande réseau comme rsync peut l'être quand elle s'adresse à un service rsyncd distant.

Mais comme les volumes du NAS montés sur la machine sont vus comme des volumes locaux : ditto devrait faire l'affaire. Mais maintenant que ton rsync marche, tu peux aussi bien rester avec lui. ;)

Oui effectivement... Je regarde souvent sur Developpez parce que en Français pour la plupart des commandes :) Mais il va falloir que je regarde au moins les deux :)

En tout cas, merci pour toutes ces précisions...

J'ai pas contre deux questions, dont une suite à ton poste.

1/ Est-ce utile d'utiliser l'option -S de rSync ? Les partitions du NAS sont en Ext3, donc je me pose la question de l'utilité de cette option dans mon cas.

2/ Tu dis "les volumes du NAS montés sur la machine sont vus comme des volumes locaux", euh... Alors dans ma configuration, j'ouvre effectivement un Finder et je doit entrer le pseudo et mot de passe de connexion si je veux avoir accès à mon NAS. Mais dans le cas d'une commande comme rSync ou ditto, comment je peux faire cela ? Il ne faut pas passer en SSH ? Parce que les volumes ne montent pas 'automatiquement', en tout cas je ne sais pas faire :)
 
  1. Je ne sais pas si cette option est vraiment utile.
  2. Cela dépend du mode de connexion :
    1. soit tu accèdes au NAS via le protocole rsync ou rsync dans un tunnel SSH. Dans ce cas tu dois utiliser la commande rsync.
    2. soit tu montes les volumes du NAS à l'aide d'un des protocoles usuels (SMB/CIFS, NFS, AFP...) et dans ce cas les commandes classiques (locales) d'UNIX suffisent. Reste à savoir dans quelle mesure attributs et ressources peuvent être correctement gérés.
 
  1. Je ne sais pas si cette option est vraiment utile.
  2. Cela dépend du mode de connexion :
    1. soit tu accèdes au NAS via le protocole rsync ou rsync dans un tunnel SSH. Dans ce cas tu dois utiliser la commande rsync.
    2. soit tu montes les volumes du NAS à l'aide d'un des protocoles usuels (SMB/CIFS, NFS, AFP...) et dans ce cas les commandes classiques (locales) d'UNIX suffisent. Reste à savoir dans quelle mesure attributs et ressources peuvent être correctement gérés.

Tu connais les NAS Synology par hasard ? Parceque NFS ne change rien pour moi (sans doutes je ne fais pas ce qu'il faut) et le AFP je ne l'ai pas vu dans la config du NAS... :/
 
Je n'ai pas de NAS, désolé.

Tu as quoi comme problème avec NFS, au juste ?
 
Je n'ai pas de NAS, désolé.

Tu as quoi comme problème avec NFS, au juste ?

Aucun :)

Je ne m'en sert pas ou alors sans le savoir. Après ton post j'ai regardé sur Google.
Les personnes qui en parlent passent par le menu du Finder -> Aller -> Aller au dossier...

Et un des protocoles (AFP si je ne m'abuse) serait plus lent.

Pour me connecter, j'ouvre une fenêtre de Finder et sur le côté gauche je vois apparaitre mon NAS. Et là, je clique sur 'ce connecter...', j'entre login et mot de passe et j'y accède sans problèmes.

Le problème que j'ai actuellement c'est pour reconnaitre le NAS avec mon script du rSync.
Mais je pense que la meilleure solution est de passer par un tunnel SSH.

Le soucis c'est que sur un Synology, cela n'est possible qu'avec un compte Root. Il faut donc faire des changements, j'ai trouvé un tuto pour ça, de manière à pouvoir ce connecter avec un compte 'normal'. Ensuite créer une clé pour SSH et ça devrait fonctionner.

Ce n'est pas très simple ni rapide à faire mais je crois que c'est la seule solution.

Si toutefois, quelqu'un qui utilise rSync avec un Syno peut m'éclairer d'avantage, qu'il n'hésite pas :)
 
Quelqu'un pourrait me dire comment utiliser la commande dito avec ssh ?
Et est ce que les attributs étendus sont préservés avec des partitions ext3 ?