[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: problème rsync



Le 11 juin 2015 à 08:19, Grégory Reinbold <gregory@nosheep.fr> a écrit :
> 
> Ok, mon binaire doit être custom. (Etrange il provient pourtant des dépôts de Deb ?!)
> 
> Donc je le répète, mais différemment. Je synchronise automatiquement toutes les heures mon répertoire $HOME à l'aide d'un script sh et d'un cron.
> 
> Mon répertoire personnel contient un dossier sshfs dans lequel je monte mes dossiers distants. Toutefois je veux pas synchroniser ce répertoire sshfs. Donc dans mon petit script sh j'ai une ligne rsync avec l'option --exclude=sshfs
> 
> Je ne sais comment expliquer, mais la magie de mon pseudo custom rsync opère et le répertoire sshfs n'existe pas dans le répertoire de destination de ma synchro.
> 
> Donc j'en déduis qu'avec ou sans / ou autres précisions, dès que le PATTERN est trouvé dans le path, boom, mon rsync custom exclu l'occurrence que ce soit un fichier ou un dossier.

Je fais la même chose. On devrait donc pouvoir t’aider. Si ton problèmes est de ne pas synchroniser le contenu d’un montage effectué dans ton répertoire, il suffit normalement d’ajouter l’option « —one-file-system ».

Voici les paramètres utilisés dans mon script de synchronisation :
	rsync ${OptVerbose} ${OptTest} ${OptApple} --stats --archive --delete \
	   --hard-links --links --one-file-system --exclude-from=${FicExclusions} \
	   "${Origine}/" "${Destination} »

avec « OptVerbose », « OptTest » et « OptApple » positionnés selon l’usage à « —verbose », « —dry-run » et, si on le fait tourner sous Mac OS X, « —extended-attributes ». Le fichier d’exclusion contient ceci pour une Debian / Ubuntu :
# Fichiers généraux pour une Debian (ou Ubuntu) sous Gnome
- /.fontconfig
- Cache/*
- cache/*
- /.xsession-errors
- /.gconfd/saved_state
- /.gnome2/share/fonts
- /.bash_history
- /.viminfo
- /.config/tracker
- /.cache
- /.gstreamer-0.10
- /.local
- /.pulse-cookie
- /.dbus
- /.update-manager-core
- /.update-notifier
- /.gvfs/		<=========

Si je n’ai pas de point de montage SSH « sshfs », il y a toujours sous Ubuntu le point de montage des montages de Gnome (« .gvfs ») sur lequel est effectué tous les montages effectués dans le cliquaudrome. C’est la ligne « - /.gvfs/ » qui gère ça. Je peut t’assurer que ce script fonctionne.

Voici ce que dit le « man » à propos des répertoires avec les options d’exclusion ou d’inclusion :
       o      if the pattern ends with a / then it will only match a directory, not a regular file, symlink, or device.
ça me semble clair, non ?

On pourrait même simplifier la recherche des caches en prenant pour principe que tout répertoire dont le nom contient « cache » est un cache en donnant une règle du type (je ne suis pas un fan des regex) :
- [C-c]ache*/


> Avant de dire que ce que je raconte est faux, teste par toi-même pour voir si je raconte de la merde.

Excuses pour la brutalité du propos, ce qui je disais faux était la conclusion, pas le constat.
Une explication de tes problèmes peut venir aussi de l’enchaînement des exclusions/inclusions qui, comme on est dans une lecture récursive, ré-inclus ton exclusion par une autre règle.

> 
> Script sh à l'appui pour les septiques.
> 
> Sur ce, une très belle journée à vous.
> 
> À jeu. juin 11 00:38:30 2015 GMT+0200, Pierre Malard a écrit :
>> 
>>> Le 10 juin 2015 à 12:50, Grégory Reinbold <gregory@nosheep.fr> a écrit :
>>> 
>>> L'option --exclude=PATTERN ne fait pas la différence entre un fichier et un dossier. A partir du moment où un fichier ou un dossier contient ton PATTERN dans son filename il sera exclu de la synchronisation.
>> 
>> Faux, il est très facile de faire la différence entre un fichier et un répertoire en jouant sur les slashs (« / ») en fin d’expression.
>> Le plus facile serait de lire les mails que j’avais envoyé les 18 et 19 mai (Re: rsync et /run) et le contenu de « man rsync ». Recherche dans les archives de la liste, voici un extrait de ce que j’écrivais :
>> «
>> En fait, l’exclusion, marquée par le signe moins, est basée sur la racine de la sauvegarde. Elle peut être relative ou complète. Le slash (« / ») indique une référence complète par rapport à la racine de la sauvegarde et non une référence par rapport à la racine du système de fichiers du serveur, d’où l’ambiguité.
>> 
>> Si on veut exclure un répertoire spécifique, il faut une notation complète :
>> 	- /foo/bar/
>> Si on veut exclure tout répertoire cache par exemple, on n’indique pas le slash mais on termine par un slash pour indiquer que c’est un répertoire :
>> 	- cache/
>> ici, tout répertoire appelé « cache » à partir de la racine de sauvegarde sera exclu du rsync.
>> 
>> On peut aussi utiliser les méta-caractères.
>> Je ne saurait trop conseiller la lecture de la documentation par un « man rsync », plus précisément le paragraphe « INCLUDE/EXCLUDE PATTERN RULES ». Il est très complet, bien fait, et propose des exemples instructifs.
>> 
>> Ces exemples sont basés sur la sauvegarde d’un répertoire utilisateur, un rsync du type :
>> 	# rsync <OPTIONS> --exclude-from="<Fichier d’exclusion>" "${HOME}/"  "<DESTINATION>/«
>> »
>> 
>> 
>>> 
>>> À mer. juin 10 11:21:30 2015 GMT+0200, Fabrice Regnier a écrit :
>>>> 'lut,
>>>> 
>>>> 
>>>>> l'option --exclude=PATTERN n'a l'air d'être valable que pour des fichiers.
>>>> pas si sur. T'as essayé
>>>> 
>>>> --exclude /trashbox
>>>> 
>>>> ?
>>>> 
>>>> a+
>>>> 
>>>> f.
>>>> 
>>>> --
>>>> Lisez la FAQ de la liste avant de poser une question :
>>>> http://wiki.debian.org/fr/FrenchLists
>>>> 
>>>> Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
>>>> vers debian-user-french-REQUEST@lists.debian.org
>>>> En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
>>>> Archive: [🔎] 5578019b$0$3297$426a34cc@news.free.fr">https://lists.debian.org/[🔎] 5578019b$0$3297$426a34cc@news.free.fr
>>>> 
>>>> 
>>> 
>>> --
>>> Grégory Reinbold
>> 
>> --
>> Pierre Malard
>> 
>>   « La vérité ne triomphe jamais, mais ses ennemis finissent
>>    toujours par mourir... »
>>                                                   Max Placnk (1858-1947)
>>   |\      _,,,---,,_
>>   /,`.-'`'    -.  ;-;;,_
>>  |,4-  ) )-,_. ,\ (  `'-'
>> '---''(_/--'  `-'\_)   πr
>> 
>> perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-.  ;-;;,_:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"'  `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
>> - --> Ce message n’engage que son auteur <--
>> 
>> 
> 
> --
> Grégory Reinbold

--
Pierre Malard

   « Si, comme le disait le général de Gaule, la France n'avait pas été la
   France... on peut logiquement penser que tous les français auraient été
   des étrangers » ;-)
                                                                               Pierre Dac
   |\      _,,,---,,_
   /,`.-'`'    -.  ;-;;,_
  |,4-  ) )-,_. ,\ (  `'-'
 '---''(_/--'  `-'\_)   πr

perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-.  ;-;;,_:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"'  `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail


Reply to: