Nous sommes le Lun 30 Juin, 2025 20:47
Supprimer les cookies

Page 1 sur 21, 2 SuivantFullsync : exception pour un fichier à ne pas synchroniser

Sur le logiciel libre en général ou un logiciel libre en particulier

Mar 08 Juil, 2008 14:10

Bonjour à tous, :D

Je trouve extra le logiciel Fullsync pour mettre à jour tout ce qui est sur ma clef USB, y compris les marques pages et l'historique de mon Firefox Framakey.

Par contre, comme je l'utilise depuis des endroits différemment connectés, j'ai besoin d'exclure le fichier \Data\profile\prefs.js qui contient notamment le mode de connection (avec/sans proxy).

Quelqu'un sait comment exclure automatiquement un fichier de la synchronisation ? Ca peut servir dans bien des cas moins spécifiques d'ailleurs...
New Morning

Messages : 53

Jeu 10 Juil, 2008 12:33

Salut,

Si je ne me trompe pas. Dans les détails du profil que tu as créé (la fenêtre "Profile Details"), tu trouves la définition de "Rules". A cet endroit, tu dois avoir "Ignore pattern". Dans la case correspondante, tu dois mettre l'expression régulière qui servira à définir les noms de fichiers qui seront ignorés lors du backup. Dans ton cas, je pense que tu devrais y mettre:
Code: Tout sélectionner
\\Data\\profile\\prefs\.js


Une référence http://fullsync.sourceforge.net/docs/manual/RuleSets.html
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Jeu 10 Juil, 2008 16:05

:D Merci Laurent mais... ça n'a pas marché (Prefs.js est toujours synchronisé) :cry: . En fait lorsque j'édite le profile, j'ai "Ignorer selon modèle" et "Accepter selon modèle". J'ai mis ta proposition dans "Ignorer selon modèle" mais je crains qu'il ne faille créer un modèle. Quant à la doc de référence, j'ai pas encore réussi à la comprendre sur ce chapitre, malgré quelques facilités en anglais.
New Morning

Messages : 53

Jeu 10 Juil, 2008 18:10

J'ai réinstallé FullSync sur mon pc du bureau sur lequel tourne XP.

En effet, ça ne marche pas. D'après mes essais, je pense que on ne peut mettre qu'un nom simple. J'imagine que Fullsync prend le nom du répertoire ou du fichier uniquement; et non le chemin relatif comme je pensais.

Dès lors, on va faire autrement. Je vais supposer que la source du backup est [font=Courier New]F:\[/font] et que [font=Courier New]prefs.js[/font] se trouve dans [font=Courier New]F:\Data\profile\[/font] pour étayer mes dires.

1) Créer un fichier qui s'appellera [font=Courier New].syncrules[/font] à la source; c'est-à-dire [font=Courier New]F:\.syncrules[/font]. (Utilise un éditeur de texte comme Notepad++ pour le créer. L'explorateur de fichiers de Windows refuse de créer un fichier qui n'a pas de nom mais une extension)

Dans ce fichier, tu mets ceci:
Code: Tout sélectionner
START RULESET BACKUP
    USE RULEFILES SOURCE
    USE DIRECTION DESTINATION
    USE RECURSION YES
    USE RECURSIONONIGNORE YES

    APPLY IGNORERULES YES
    APPLY TAKERULES YES
    APPLY DELETION DESTINATION

    DEFINE IGNORE "\.syncrules"
END RULESET BACKUP


2) Créer un autre fichier [font=Courier New].syncrules[/font] mais dans le dossier qui contient [font=Courier New]prefs.js[/font]; donc [font=Courier New]F:\Data\profile\.syncrules[/font]

Dans ce fichier, tu mets ceci:
Code: Tout sélectionner
START RULESET BACKUP
    USE RULEFILES SOURCE
    USE DIRECTION DESTINATION
    USE RECURSION YES
    USE RECURSIONONIGNORE YES

    APPLY IGNORERULES YES
    APPLY TAKERULES YES
    APPLY DELETION DESTINATION

    DEFINE IGNORE "prefs\.js"
END RULESET BACKUP


3) Editer le profile. Sélectionner "Règles Avancées" et mettre [font=Courier New]BACKUP[/font] dans le champ "Règle".

Et après cela tu devrais pouvoir faire un backup de tout [font=Courier New]F:\[/font] en omettant [font=Courier New]F:\Data\profile\prefs.js[/font]

Pour information a écrit:
  • [font=Courier New]BACKUP[/font] est mis dans le champ "Règle" car c'est comme cela que la règle s'appelle dans les deux fichiers [font=Courier New].syncrules[/font] (cf [font=Courier New]START RULESET BACKUP[/font])
  • Le premier [font=Courier New].syncrules[/font] définit les règles générales à appliquer à toute l'arborescence à sauvegarder. Le deuxième définit celles propres au dossier où il se trouve.
  • La barre oblique dans [font=Courier New]"prefs\.js"[/font] et [font=Courier New]"prefs\.js"[/font] dans [font=Courier New]DEFINE IGNORE[/font] est nécessaire pour dire que le '.' est bien un point. En effet dans une expression régulière, le '.' a une toute autre signification.
  • [font=Courier New]DEFINE IGNORE "\.syncrules"[/font] est utile si tu ne veux pas sauvegarder les deux fichiers [font=Courier New].syncrules[/font]. Autrement, retire simplement cette ligne du premier fichier.


J'ai fait des essais de mon côté et ça a l'air de fonctionner comme on s'y attend. Maintenant, il se peut qu'il y ait une quelconque subtilité qui m'a échappé. ;)

J'espère que ça te fut utile.
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Ven 11 Juil, 2008 09:22

:D Excellent, ça marche :!:

Par contre je n'ai pas réussi à faire la même chose pour la totalité d'un répertoire : quelle syntaxe utiliser pour, disons, ne pas synchroniser \Data\profile\ (tout le répertoire contenant le ficher prefs.js) :?:
New Morning

Messages : 53

Ven 11 Juil, 2008 10:16

Je pensais avoir laissé assez d'indices pour que tu puisse deviner par toi même... râté!

OK, pour ce faire, tu dois changer la ligne [font=Courier New]DEFINE IGNORE "prefs\.js"[/font] par [font=Courier New]DEFINE IGNORE ".*"[/font] dans le second fichier [font=Courier New].syncrules[/font]
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Ven 11 Juil, 2008 10:34

obor2 a écrit:Je pensais avoir laissé assez d'indices pour que tu puisse deviner par toi même... râté!


Moi aussi je l'espérais, sauf que j'en veux toujours plus :wink: : cette syntaxe entraine quand même la copie du répertoire "Profile", ce qui n'a aucun inconvénient dans ce cas puisqu'il existe forcément des deux côtés (pour que le logiciel fonctionne).

Comment faire à présent pour un répertoire entier, par exemple F:/applications/Firefox , pour que "applications" soit synchronisée mais le répertoire Firefox, même vide, ne soit pas copié ? J'ai essayé de mettre un .syncrules dans F:/applications/ avec le code

Code: Tout sélectionner
START RULESET BACKUP
    USE RULEFILES SOURCE
    USE DIRECTION DESTINATION
    USE RECURSION YES
    USE RECURSIONONIGNORE YES

    APPLY IGNORERULES YES
    APPLY TAKERULES YES
    APPLY DELETION DESTINATION

    DEFINE IGNORE "Firefox"
END RULESET BACKUP


Mais ça semble requérir une syntaxe un peu plus précise que ça...
New Morning

Messages : 53

Ven 11 Juil, 2008 11:57

Ce que tu me dis m'as l'air d'être correct pourtant.

Pour ne pas avoir le dossier [font=Courier New]profile[/font] il faut créer un [font=Courier New].syncrules[/font] dans [font=Courier New]F:\Data[/font] et dedans mettre la ligne [font=Courier New]DEFINE IGNORE "(\.syncrules|profile)"[/font] (ou [font=Courier New]DEFINE IGNORE "profile"[/font] si tu veux conserver les [font=Courier New].syncrules[/font]) (et le reste des autres lignes bien entendu; comme pour les deux autres fichiers).

Donc pour empêcher la copie du répertoire [font=Courier New]firefox[/font] il faut bien mettre un [font=Courier New].syncrules[/font] dans [font=Courier New]F:\applications[/font] avec [font=Courier New]DEFINE IGNORE "firefox"[/font] dedans. Malgré tout, ça ne fonctionne pas comme prévu. Pourquoi? Ca dépasse un peu mon entendement. Bref, pour ne pas prendre en compte le dossier [font=Courier New]firefox[/font] il faudra changer la ligne [font=Courier New]USE RECURSIONONIGNORE YES[/font] par [font=Courier New]USE RECURSIONONIGNORE NO[/font].

Cependant, il y a des subtilités que je n'ai pas encore totalement saisies. Certaines choses me tracassent. Si on demande de ne pas prendre en compte un dossier portant un certain nom, est-ce qu'un sous-dossier dans une autre branche de la racine appelé du même nom sera pris en compte? En clair, avec l'arborscence suivante, est-ce que le deuxième [font=Courier New]TOTO[/font] sera synchronisé si je demande que le premier ne le sois pas?

Code: Tout sélectionner
F:\
|- Data\
|  |- .syncrules
|  |- TOTO\
|  |  |- fichier1
|  |  |- fichier2
|  |- LABLAGA\
|  |  |- TOTO\
|  |  |  | fichier3


La réponse me semble être: non il ne sera pas synchronisé (sauf si on spécifie dans un [font=Courier New].syncrules[/font] au niveau de [font=Courier New]LABLAGA[/font] une ligne [font=Courier New]DEFINE TAKE "TOTO"[/font])

De plus, si cette règle s'applique à [font=Courier New]IGNORE[/font], elle devrait aussi s'appliquer à [font=Courier New]TAKE[/font]. :? Je suppose que jouer avec les autres options dans les différents [font=Courier New].syncrules[/font] permettrait de relever le défi. :D

Je dirai ceci: du moment que les règles restent simples, c'est encore gérable, après c'est de la haute-voltige qui dépasse mes capacités actuelles.

Finalement, je te conseillerai de jeter un oeil sur les expressions régulières, ça pourra fortement te dépanner. Il y a plein de sites en français qui en parlent. Et pour ce faire la main rien de tel qu'on bon [font=Courier New]grep[/font].
Amicalement,

Laurent
obor2

Messages : 524
Géo : belgique

Ven 11 Juil, 2008 13:43

obor2 a écrit:
Finalement, je te conseillerai de jeter un oeil sur les expressions régulières, ça pourra fortement te dépanner. Il y a plein de sites en français qui en parlent. Et pour ce faire la main rien de tel qu'on bon [font=Courier New]grep[/font].


Apparemment les expressions régulières c'est un truc de php non ? Par exemple sur http://www.siteduzero.com/tuto-3-168-1- ... e-1-2.html

Où alors je vois pas trop quels sites en parlent... à si, ici : http://fr.wikipedia.org/wiki/Expressions_rationnelles

Je prendrais le temps la semaine prochaine. J'ai même trouvé grep pour windows : http://gnuwin32.sourceforge.net/packages/grep.htm

J'espère trouver le temps et la solution à mettre ici, en tous cas ce qui précède est déjà TRES utile. Si quelqu'un trouve avant moi qu'il ne se gêne pas pour laisser la clef du mystère ! :wink:
New Morning

Messages : 53

Mar 15 Juil, 2008 14:12

obor2 a écrit: il faudra changer la ligne [font=Courier New]USE RECURSIONONIGNORE YES[/font] par [font=Courier New]USE RECURSIONONIGNORE NO[/font].


Effectivement ça marche impeccable comme ça, et pour les expressions régulières je vais laisser de côté. Merci vraiment car ça rend ce logiciel bien plus utilisable pour moi, et j'espère pour d'autres : la documentation mériterait d'être plus fournie pour une application aussi utile.
New Morning

Messages : 53

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit