Tout d'abord, vous devriez lire un peu sur la syntaxe d'inclusion / exclusion de rsync. J'ai l'impression que ce que vous voulez faire est mieux fait en utilisant des **
globes que des *
globes. (se **
développe en un nombre quelconque d'entrées, alors qu'il *
ne se développe qu'en une seule entrée pouvant correspondre à plusieurs entrées de répertoire . Les détails se trouvent man rsync
sous les règles de modèle d'inclusion / exclusion .)
Cela dit, si vous voulez pouvoir restaurer le système à un état de fonctionnement connu à partir de la sauvegarde avec un minimum de tracas, vous devez faire attention à exclure les fichiers ou les répertoires. J'utilise rsnapshot moi-même et j'ai en fait adopté l'approche inverse: inclure tout sauf quelques répertoires soigneusement sélectionnés.
Donc, mon rsnapshot.conf déclare en fait (avec des onglets pour rendre l'analyseur du fichier de configuration de rsnapshot heureux):
interval backup NNN # pick your poison
one_fs 0
exclude /backup/**
exclude /dev/**
exclude /proc/**
exclude /run/**
exclude /sys/**
exclude /tmp/**
backup / ./
et très peu d'autre. Oui, cela signifie que je pourrais copier un peu plus que ce qui est strictement nécessaire, mais cela garantit que tout ce qui n'est pas destiné à être éphermal est copié. En raison de rsnapshot utilisant le comportement hardlink-to-deduplicate de rsync, le seul coût réel à cela est lors de la première exécution; après cela, en supposant que vous disposez d'un emplacement cible de sauvegarde de taille raisonnable (par rapport à la taille totale de votre ensemble de données), cela prend très peu de temps supplémentaire ou d'espace disque. J'exclus le contenu de / backup car c'est là que je monte le système de fichiers cible de sauvegarde; ne pas l'exclure entraînerait la situation de copier la sauvegarde en elle-même. Cependant, pour plus de simplicité, si j'ai besoin de restaurer sur du métal nu, je veux garder le point de montage!
Dans mon cas, je ne peux pas non plus raisonnablement utiliser one_fs 1
; J'exécute ZFS avec actuellement environ 40 systèmes de fichiers. La liste de tous ceux-ci serait un cauchemar de maintenance et rendrait le travail avec les systèmes de fichiers ZFS beaucoup plus impliqué qu'il ne devrait l'être.
Quasiment tout ce que vous voulez exclure au-delà de ce qui précède dépendra de toute façon de la distribution, il est donc pratiquement impossible de donner une réponse générique. Cela dit, vous trouverez probablement des candidats sous / var.
exclude /somepath/*
est parfaitement bien dans ce cas; il exclut tout/somepath/
, comme prévu. Vous n'en avez pas besoin**
car il n'est pas nécessaire de regarder plus en profondeur lorsque tout/somepath/
est déjà exclu.