Tout d'abord, vous devriez lire un peu la syntaxe d'inclusion/exclusion de rsync. J'ai l'impression que ce que vous voulez faire est mieux fait avec **
globs supérieur à *
globes. (**
s'étend à n'importe quel nombre d'entrées, alors que *
se développe uniquement en une seule entrée correspondant éventuellement à plusieurs répertoires entrées. Les détails sont en man rsync
sous Inclure/Exclure les règles de modèle .)
Cela dit, si vous souhaitez pouvoir restaurer le système dans un état de fonctionnement connu à partir de la sauvegarde avec un minimum de tracas, vous devez faire attention à l'exclusion de fichiers ou de répertoires. J'utilise moi-même rsnapshot et j'ai en fait adopté l'approche inverse :inclure tout sauf quelques répertoires soigneusement sélectionnés.
Donc, mon rsnapshot.conf indique en fait (avec des onglets pour rendre l'analyseur de 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 peux copier un peu plus que ce qui est strictement nécessaire, mais cela garantit que tout ce qui n'est pas destiné à être éphémère est copié. En raison du fait que rsnapshot utilise le comportement de liaison physique à déduplication de rsync, le seul coût réel est lors de la première exécution ; après cela, en supposant que vous disposiez 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 ou d'espace disque supplémentaire. 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 conduirait à la situation de copier la sauvegarde sur elle-même. Cependant, pour plus de simplicité, si jamais j'ai besoin de restaurer sur du métal nu, je souhaite conserver le point de montage !
Dans mon cas, je ne peux pas non plus raisonnablement utiliser one_fs 1
; J'exécute ZFS avec actuellement ~ 40 systèmes de fichiers. La liste explicite de tous ces éléments serait un cauchemar de maintenance et rendrait le travail avec les systèmes de fichiers ZFS beaucoup plus compliqué que nécessaire.
À peu près tout ce que vous voulez exclure au-delà de ce qui précède dépendra de la distribution, de toute façon, il est donc pratiquement impossible de donner une réponse générique. Cela dit, vous trouverez probablement des candidats sous /var.
La plupart de ce que vous essayez de faire peut probablement être accompli simplement en utilisant le one_fs
paramètre. Définissez les systèmes de fichiers que vous souhaitez inclure dans vos sauvegardes, puis utilisez ce paramètre pour ignorer le reste (proc
, sys
, dev
, etc.). J'inclurais /lost+found
car ce répertoire doit toujours être vide, sauf si vous avez sauvegardé un système de fichiers corrompu, auquel cas vous voudrez probablement une sauvegarde de tout ce qui fsck
rétabli. Aussi, .pyc
et .pyo
ne devrait pas vraiment être dans le répertoire racine en premier lieu, donc je supprimerais également ces lignes. /tmp
et /var/tmp
sont à peu près les seuls chemins restants sur un système "générique" qui contiennent des données pouvant être exclues de manière fiable des sauvegardes. Alors peut-être essayez quelque chose comme :
one_fs 1
exclude /tmp/
exclude /var/tmp/