Utilisation de liens durs NTFS pour combiner des sauvegardes complètes / différentielles

17

En bref: est-il possible de (robo) copier une arborescence de répertoires à l'aide de liens physiques au lieu d'une copie physique?

Je veux faire une sauvegarde quotidienne de mes fichiers de données, chaque jour dans son propre répertoire. Maintenant, la plupart des fichiers ne changent pas tous les jours, donc mon idée pour accélérer la sauvegarde et utiliser moins d'espace disque était de copier la sauvegarde de (jour-1) vers (jour) en utilisant des liens durs, puis d'utiliser robocopy pour remplacer les fichiers qui ont changé depuis hier. De cette façon, je n'aurais besoin de copier la sauvegarde complète qu'une seule fois sur la clé USB, ensuite je pourrais simplement copier les modifications et avoir encore des répertoires contenant tous les fichiers, partager des fichiers avec d'autres sauvegardes en utilisant des liens durs. De cette façon, j'ai obtenu deux sauvegardes complètes, mais il n'utilise que de l'espace fichier pour un + différentiel, et les fichiers de sauvegarde sont accessibles sans besoin de logiciel spécial, ce qui est un gros plus pour moi.

Est-ce possible?
Existe-t-il un programme pour créer des copies de liens physiques de tous les fichiers dans une arborescence de répertoires?
Suis-je en train de manquer un piège dont je ne suis pas au courant?

Sam
la source
Cela peut être fait comme on le trouve ici: blog.mutable.net/post/2007/01/17/…
Bryan

Réponses:

9

Il existe un moyen de faire des sauvegardes comme vous le dites, mais je ne crois pas avec Robocopy seul.

Il existe plusieurs programmes qui lieront ou déduplieront les sauvegardes et utiliseront l'espace de manière optimale.

Voici quelques programmes que j'ai utilisés ou rencontrés:

  • Dupemerge - gratuit - Bien qu'il ne s'agisse pas d'un "programme de sauvegarde", il s'agit d'un éditeur de liens dur en vrac.
  • sauvegarde hardlink - gratuite pour un usage personnel - utilise des liens durs
  • Duplicati - gratuit - (dédoubles je crois comme le fait rsync)
  • rdiff-backup - gratuit - dédoublons comme rsync

Je crois que ce qui peut convenir à vos questions est Dupemerge. Vous pouvez demander à un fichier de commandes d'exécuter Robocopy pour copier le contenu dans un répertoire (ex. D: \ backups \ YYYY-MM-DD). Lorsque cette commande est exécutée, le fichier de commandes peut appeler Dupemerge sur d: \ backups. Cela lierait durement les fichiers dans et entre tous les sous-répertoires de d: \ backups.

L'inconvénient est que vous auriez besoin de suffisamment d'espace sur l'extérieur pour contenir la nouvelle sauvegarde liée non créée. Après l'exécution de Dupemerge, la sauvegarde nouvellement créée sera liée en dur et l'espace sera libéré.

Cela rendrait la restauration facile car chaque répertoire daté semble avoir une sauvegarde complète.

En remarque, si vous allez utiliser des liens durs, j'aime Link Shell Extension . Il vous permet de savoir ce qui n'est pas lié en dur, ce qui est et à quoi il est lié.

J'ai rencontré d'autres programmes de lien dur ou de déduplication, mais j'ai préféré ceux-ci.

Scott McClenning
la source
5
+1 Pour avoir un rafle décent et mentionner LSE. Cependant, vous avez oublié l'outil unique qui donne à l'OP presque exactement ce qu'il veut: ln.exela copie Delorean ln.exe est écrite par la même personne qui écrit à la fois Dupemerge et LSE. Tout ce qui manque est le support VSS et ... oh look! Et c'est parti! ;-)
afrazier
@afrazier bon appel avec Delorean Copy. On dirait que Delorean Copy a de bonnes fonctionnalités, ce site est également bon pour les informations de lien NTFS, je devrais le lire plus. Je suis surpris de la limite de liens 1023 sur Delorean Copy, cependant, ce n'est probablement pas un problème pour la plupart. Dupemerge liera un autre fichier à 1022 liens. Je suppose que le fonctionnement de la copie Delorian, la liaison à un fichier non source ne serait pas souhaitable? Je vais devoir en lire plus à ce sujet. Grande suggestion.
Scott McClenning
2
La limite de liaison 1023 est une limitation NTFS - L'attribut de compteur de liens de l'entrée d'annuaire n'est que de 10 bits.
afrazier
Grand résumé des options. Malheureusement, votre recommandation ne répond pas à la demande de l'affiche originale de ne copier que les fichiers modifiés à chaque sauvegarde ultérieure. On dirait que ln.exec'est un meilleur pari.
Simon East
Il y a aussi l' extension Link Shell par les mêmes fabricants ln.exequi fournissent un moyen simple de faire ces types de sauvegardes à l'aide de la souris dans l'Explorateur Windows. Il crée également des répertoires horodatés pour vous pendant le processus de sauvegarde.
Simon East
1

BackupAssist vous permettra exactement ce dont vous avez besoin. Son utilisation de liens durs s'appelle "Single Instance Store", mais ce sont en fait des liens durs sous le capot. Il peut être utilisé, entre autres, pour sauvegarder sur des lecteurs USB comme vous l'avez demandé, ou vers des emplacements distants à l'aide de rsync.

Zlika
la source
1

Nous avons écrit notre propre outil pour ce genre de travail. Son appelé ntfs-hardlink-backup: https://github.com/International-Nepal-Fellowship/Windows-Tools/tree/master/ntfs-hardlink-backup

Pour créer les liens physiques, il utilise l'outil ln de Hermann Schinagl: http://schinagl.priv.at/nt/ln/ln.html

Vous pouvez donc également utiliser ln directement. C'est assez puissant

INDIVIDUAL-IT
la source
Veuillez citer les parties essentielles de la réponse à partir des liens de référence, car la réponse peut devenir invalide si les pages liées changent.
DavidPostill
-3

Il y a une faille dans votre logique en premier lieu.

Si vous créez des liens durs, comment cela peut-il être appelé une sauvegarde? une fois que votre fichier est supprimé / corrompu, votre soi-disant sauvegarde va également dans ce sens. Toutes les exigences que vous avez spécifiées sont généralement couvertes par le logiciel de sauvegarde d'aujourd'hui.

PS: NTFS ne prend pas en charge les liens durs AFAK.

anilmwr
la source
3
Désolé, ma description n'était pas assez claire: je crée une copie complète en utilisant robocopy sur une clé USB externe. Pour le lendemain, je crée une copie de lien dur, puis remplace tous les fichiers qui ont changé depuis hier. Maintenant, j'ai deux copies complètes sur ma clé USB, mais au prix de l'espace d'un différentiel complet + un.
Sam
4
Oh, et bien sûr NTFS prend en charge les liens durs.
Sam
1
La technique que vous décrivez est exactement ce qui rsnapshot(semble être en panne ATM) implémente dans Unixoid OS. C'est certainement possible et fonctionne très bien. Malheureusement pour vous rsnapshotne fonctionne pas sur Windows (c'est pourquoi j'écris ceci en tant que commentaire uniquement). Mais la FAQ mentionne quelque chose sur la synchronisation à distance des clients Windows. Si vous avez des machines Unixoid autour, cela pourrait fonctionner pour vous. Je ne connais aucun équivalent de Windows rsnapshot.
Daniel Böhmer
Je ne vois aucun avantage à créer des liens durs vers des fichiers inchangés. Les logiciels de sauvegarde prennent la sauvegarde en fonction du bit d'archivage activé / désactivé. Vous devez simplement copier les fichiers modifiés depuis la dernière sauvegarde. De plus, j'avais l'impression que SEULEMENT les systèmes de fichiers Unix prennent en charge les liens durs. Merci de le porter à ma connaissance!
anilmwr
@Halo pensait qu'il devrait déjà être utilisé à de nombreux endroits. Dommage que je n'aie pas d'ordinateurs Unix, donc je vais devoir attendre quelqu'un qui le sait pour Windows. Merci pour l'information!
Sam