web-dev-qa-db-fra.com

Puis-je ignorer les fichiers par modèle dans deja-dup (sauvegarde)?

Mes sauvegardes Déjà Dup sont devenues assez volumineuses et j'ai remarqué qu'elles contenaient un grand nombre de fichiers inutiles (par exemple, *.pyc fichiers, **__pycache__ dossiers et autres éléments temporaires liés à la construction).

Je sais que je peux ignorer des dossiers spécifiques, mais existe-t-il un moyen d'exclure des fichiers et/ou des dossiers par des motifs?

Je pensais qu'il pourrait y avoir plus d'options utilisables dans un fichier de configuration, mais Déjà Dup n'en utilise pas. J'ai donc examiné la duplicité (la CLI sur laquelle elle est basée), mais la page de manuel ne mentionne pas non plus de fichier de configuration. Je sais que la duplicité peut ignorer des fichiers et des dossiers en fonction de modèles (--exclude, --exclude-filelist), mais je ne sais pas comment pour combiner cela avec Déjà Dup .

Dois-je abandonner Déjà Dup et utiliser la duplicité manuellement? Ou existe-t-il un moyen de définir les options nécessaires, afin qu'elles soient utilisées automatiquement, lorsque la duplicité est utilisée par Déjà Dup ?

11
Brutus

Vous pouvez éditer la liste d'exclusion comme:

gsettings get org.gnome.DejaDup exclude-list
# remove comment to execute
# gsettings set org.gnome.DejaDup exclude-list ['path1', 'path2']

Source: https://answers.launchpad.net/deja-dup/+question/280954

J'ai essayé d'ajouter des motifs tels que '** /. Git' et '**/build' dans cette liste, comme ceci:

gsettings get org.gnome.DejaDup exclude-list > exclude-list
gedit exclude-list
gsettings set org.gnome.DejaDup exclude-list "`cat exclude-list`"

Mais il me semble que les ** n'ont pas été transmis à la duplicité. Alors au lieu de cela, j'ai fini par faire des seaches comme

locate "/home/*/.svn"
locate "/home/*/build"

et les ajouté à la liste d'exclusion manuellement

3
Jacob Nordfalk

J'ai essayé la méthode de Jacob Nordfalk , mais cela n'a pas fonctionné pour moi (la syntaxe a peut-être changé).

Cependant, j'ai pu changer le réglage en utilisant dconf-editor. Vous pouvez modifier la liste sur le chemin /org/gnome/deja-dup/exclude-list

2
jost21

Deja Dup n'a actuellement aucun moyen de faire un filtrage avancé comme celui-là. Voir le bogue en amont https://bugs.launchpad.net/deja-dup/+bug/374274

2
Michael Terry

Obtenez la liste d'exclusion actuelle avec:

$ gsettings get org.gnome.DejaDup exclude-list

qui produit quelque chose comme:

['', '/home/me/delete_me', '/home/me/Eclipse', '/home/me/Music', '/home/me/R', '/home/me/Videos']

Puis définissez votre nouvelle liste en encapsulant l’ancienne sortie entre guillemets et en ajoutant vos modifications:

$ gsettings set org.gnome.DejaDup exclude-list "[ '', '/home/me/delete_me', '/home/me/Eclipse', '/home/me/Music', '/home/me/R', '/home/me/Videos', '/home/me/**/.git']"

et exécutez à nouveau get pour vérifier vos modifications.

0
Paul Smith

Malheureusement, ni la duplicité ni Déjà Dup n’utilise de fichier de configuration :( solution possible, l’utilisateur @mterry a mentionné ce qui suit dans le rapport de bogue lié ci-dessus:

si vous gconf-éditez la liste d'exclusions et ajoutez des motifs tels que "**/parts", le motif est transmis à la duplicité et tout fonctionne comme prévu ... "

Maintenant, où sont ces paramètres de gconf stockés ces jours-ci?

0
Brutus

J'ai réussi à obtenir une exclusion en utilisant mon fichier include_list.txt contenant:

- /home/justin/**/.insync-trash
- /home/justin/**/__pycache__
- /home/justin/**/*.pyc
- /home/justin/**/node_modules
- /home/justin/**/Google Photos
+ /home/justin/Documents
- /home/justin/*

Le /**/ est important pour correspondre à n'importe quelle profondeur de répertoire.

Règle 1: L'ordre est important. Soyez d'abord précis et ensuite général.

Règle 2: Ce qui a déjà été mis en correspondance dans une ligne (inclure ou exclure) ne peut pas être modifié par des correspondances ultérieures dans les lignes suivantes. La documentation mentionne ceci; mais dans un anglais terriblement déroutant. J'espère que le mien est meilleur;) Les lignes ci-dessus atteignent:

  • Ligne 1: exclut tout __pycache__ à n'importe quelle profondeur.
  • Ligne 2: exclure tout fichier portant l'extension .pyc.
  • Ligne 6: inclure mon dossier spécifique et unique Documents.
  • Ligne 7: exclure tous mes autres dossiers de départ tels que Pictures, Videos, Downloads, etc. Notez que cela ne peut pas empêcher l'inclusion de Documents, car il correspondait déjà Ligne 6! L'ordre compte!
0
Justin Solms