Sauvegarde avec Mercurial et Robocopy?

Le problème

Nous aimerions sauvegarder nos files critiques à partir de plusieurs partage de réseau vers un disque dur amovible. Nous voulons automatiser la sauvegarde afin que nous ne devions pas nous souvenir de l'exécuter. Il doit finir du jour au lendemain. En outre, nous voulons pouvoir préserver plusieurs versions de chaque file afin que nous puissions réduire les erreurs de nos users.

Informations d'arrière-plan

Je travaille dans une grande entreprise basée sur Windows avec une section informatique centralisée qui est responsable de toutes les sauvegardes. Leurs sauvegardes sont destinées à la reprise après sinistre et non à l'erreur de l'user, et nécessitent une approbation de gestion de niveau supérieur pour les récupérations autres que les catastrophes. Plusieurs fois, nous avons remarqué que nos sauvegardes ont échoué, nous n'avons pas été informés. Je n'ai pas de droits administratifs sur le server ou sur mon bureau. Nous essayons de sauvegarder quelque 198 000 files couvrant environ 240 gigaoctets. Ces files changent rarement. Notre lecteur de sauvegarde est un téraoctet.

Ma solution proposée

Ce que j'aimerais faire, c'est écrire un file batch utilisant Robocopy avec l'option / mir avec Mercurial SCM pour stocker toutes les versions du file. Je ferais une addition hg suivie d'un commit hg avant chaque exécution de Robocopy pour sauvegarder l'état actuel, puis fais une copy en miroir des structures de files. Le problème est que le / mir efface tous les dossiers non présents dans la source, et Mercurial stocke le référentiel dans un dossier .hg dans le dossier de destination.

Est-ce que quelqu'un sait comment je pourrais convaincre Mercurial de stocker le dossier .hg ailleurs ou convaincre Robocopy de ne pas le supprimer de la destination?

J'essaie d'éviter d'écrire un programme personnalisé pour copyr.

3 Solutions collect form web for “Sauvegarde avec Mercurial et Robocopy?”

Pour effectuer un miroir tout en ignorant certaines versions de files, essayez ceci:

robocopy c:\temp\source c:\temp\dest /e /purge /xf *.hg 

Je l'ai testé un peu ici et il semble laisser les files .hg seuls sur la destination

Je recommand également le drapeau / z (redémarrage pour les files volumineux) et j'ai dû recourir au drapeau / fft dans le passé en cas de granularité de time différent: http://www.readynas.com/forum/viewtopic.php ? t = 3573

modifier: … mon exemple ci-dessus était en supposant que les files nommés * .hg … font de même et ignorent les directorys nommés * .hg, utilisez ceci:

 robocopy c:\temp\source c:\temp\dest /e /z /purge /xd *.hg 

Tout d'abord, j'aimerais souligner que vous prenez probablement le problème de la mauvaise fin: en théorie, vous devriez noter un business case pour une meilleure solution de sauvegarde, requestr à votre gestion de soumettre cela à l'informatique centrale et ensuite les laisser sortinger eux-mêmes.

Maintenant, cela étant hors de propos, vous allez faire face à un certain nombre de problèmes avec cette proposition. Le premier étant que Mercurial n'est pas construit pour ce que vous voulez faire et que le Robocopy n'est pas non plus. Vous pouvez find des solutions à votre problème en éliminant l'location de sauvegarde lui-même en tant que repository, mais ce n'est pas vraiment efficace.

Je voudrais enquêter sur deux pistes différentes.

Le premier consiste à utiliser Volume Shadow Copy pour créer un historique d'instantané que vous stockez sur un autre groupe de disques sur le server (vous semblez exécuter Windows sur votre server de files et je suppose que vous avez une version récente 2008 ou plus) . Cela vous donnera un moyen simple de récupérer les files user (en fait, les users pourront récupérer leurs files eux-mêmes) tout en gardant la taille de la sauvegarde proche de la taille des données. L'inconvénient de cela est que vous aurez besoin d'un access administratif sur le server pour configurer cela, donc il n'y a aucun moyen d'impliquer vos administrateurs informatiques (ce que je pense personnellement, c'est une bonne reflection, mais ce n'est que moi).

La deuxième option consiste à mordre la balle et à get un logiciel de sauvegarde "réel". Si vos données sont suffisamment importantes, vous pouvez probablement faire un business case pour cet investissement. Sinon, vous pouvez toujours utiliser la sauvegarde Cobian pour créer des copys incrémentielles des files en tant que tâche au niveau de l'user ou, si vous voulez vraiment utiliser mercurial, utilisez Cobian Backup au lieu de Robocopy pour créer la copy du repository.

Comme vous parlez déjà de Windows et de robocopy, j'ai une autre solution sans Robocopy ou Mercurial. Les choses hors site sont un peu compliquées, mais vous auriez au less des sauvegardes en time quasi réel de tous vos files critiques.

Vous avez deux options pour commencer:

  1. Inscrivez-vous au réseau Microsoft Partner Network et déboursez le montant de 300 $ pour un abonnement Action Pack
  2. Achetez un server compatible Microsoft DPM de Dell ou HP

Quoi qu'il en soit, vous vous retrouvez avec une boîte DPM complète ou au less le logiciel que vous pouvez installer sur une machine de rechange. DPM est idéal pour prendre en charge les sauvegardes de réseau, avec des sauvegardes aussi petites que toutes les minutes. Il fait également des copys d'ombre afin que les users puissent utiliser les files lorsqu'ils sont sauvegardés. Enfin, il permet également des options de récupération de l'user final qui, si vous le souhaitez, vous sortent du mélange dans une certaine mesure.

Si vous avez besoin de fonctionnalités hors site, vous pouvez également acheter un lecteur de bande ou même un lecteur de bande embeddede dans votre nouveau server fantastique. Si vous préférez un stockage sur disque amovible, regardez un produit appelé Firestreamer. Il vous permet d'utiliser le disque sur le stockage de disque amovible.

Quoi qu'il en soit, à long terme, c'est une solution beaucoup mieux et est beaucoup plus fiable qu'un travail de cron utilisant un robocopy et un location de stockage, croyez-moi! Dans l'set, vos coûts se situent entre 500 $ et 5000 $, selon ce que vous voulez faire, mais ça vaut la peine d'être conscient et stable.

  • L'échec de la sauvegarde de Windows Server: le paramètre est incorrect?
  • Comment Backupexec fonctionne-t-il avec Linux et le format d'archive?
  • CBT Soap Fault de VMWare lorsque runnnig Veeam backup
  • Un server de sauvegarde devrait-il utiliser RAID?
  • Stratégie de sauvegarde à domicile pour de grandes quantités de données
  • Windows Server Backup ne fonctionne pas sur une tâche planifiée mais fonctionne avec "Sauvegarde une fois"
  • Automatiser le script de sauvegarde SQL Server 2008 qui ne fonctionne pas
  • Peux-tu décharger les tables d'une database postgresql non fonctionnelle?
  • Comment restaurer Windows 2003 à l'aide d'une sauvegarde système? Je n'ai pas travaillé pour moi
  • Copier des files entre des machines linux avec une authentification forte sans chiffrement
  • Comment restaurer une sauvegarde à partir d'un file tgz dans linux
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.