Backup com Mercurial e Robocopy?

O problema

Gostairíamos de fazer backup de nossos files críticos de vários compairtilhamentos de networking paira um disco rígido removível. Queremos automatizair o backup paira que não precisemos lembrair de executá-lo. Precisa terminair a noite. Além disso, queremos poder preservair várias viewsões de cada file paira que possamos reduzir os erros de nossos users.

Informação de background

Eu trabalho em uma grande empresa baseada em Windows com uma seção de TI centralizada que é responsável por todos os backups. Seus backups estão voltados paira a recuperação de desastres e não paira o erro do user, e exigem aprovação de gerenciamento de nível superior paira quaisquer recuperações sem desastres. Várias vezes nós notamos que nossos backups crashram, não fomos notificados. Não tenho direitos administrativos paira o server ou minha área de trabalho. Estamos tentando fazer backup de cerca de 198.000 files que abrangem cerca de 240 gigabytes. Esses files rairamente mudam. Nossa unidade de backup é um terabyte.

Minha proposta de solução

O que eu gostairia de fazer é escreview um file em lotes usando Robocopy com a opção / mir, juntamente com o Mercurial SCM paira airmazenair todas as viewsões do file. Eu fairia um hg add seguido por um hg commit antes de cada execução do Robocopy paira save o estado atual e, em seguida, faça uma cópia espelhada das estruturas do file. O problema é que o / mir apagairá todas as pastas não presentes na fonte e a Mercurial airmazena o repository em uma pasta .hg na pasta de destino.

Alguém sabe como eu poderia convencer o Mercurial a airmazenair a pasta .hg em outro lugair ou convencer Robocopy de não excluí-lo do destino?

Estou tentando evitair escreview um programa personalizado paira copy.

3 Solutions collect form web for “Backup com Mercurial e Robocopy?”

Paira executair um espelho ao ignorair determinadas exenções de files, tente isso:

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

Testei um pouco aqui e pairece deixair os files .hg sozinhos no destino

Eu também recomendo o sinalizador / z (reinicializável paira files grandes) e tive que recorrer à bandeira / fft no passado ao lidair com serveres com granulairidade de tempo diferente: http://www.readynas.com/forum/viewtopic.php ? t = 3573

editair: o meu exemplo acima foi assumir files com o nome * .hg … paira fazer o mesmo e ignorair diretórios denominados * .hg, use isso:

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

Em primeiro lugair, gostairia de salientair que você provavelmente está tomando o problema do lado errado: na teoria, você deve anotair um business case paira uma solução de backup melhor, faça o seu gerenciamento enviair isso paira a TI central e depois deixe-os resolva-se.

Agora, esta está fora do path, você vai enfrentair uma série de problemas com essa proposta. O primeiro é que Mercurial não é construído paira o que você quer fazer e nem é robocopia. Você pode encontrair maneiras em torno de seu problema desligando o local de backup em si como sendo um repository, mas isso não é realmente eficiente.

Em vez disso, investigairia duas faixas diferentes.

O primeiro é usair o Volume Shadow Copy paira criair um histórico de instantâneos que você airmazena em uma matriz de disco diferente no server (você pairece estair executando o Windows em seu server de files e suponho que você tenha uma viewsão recente 2008 ou maior) . Isso lhe dairá uma maneira fácil de recuperair files de user (na viewdade, os users poderão recuperair seus próprios files), mantendo o tamanho do backup próximo ao tamanho dos dados. A desvantagem disso é que você precisairá do access de administrador no server paira configurair isso, então não há como contornair envolvendo seus administradores de TI (o que, pessoalmente, acho que é um bom pensamento, mas isso é só eu).

A segunda opção é bit a bala e obter um softwaire de backup "real". Se os seus dados forem importantes o suficiente, você provavelmente poderá fazer um business case paira esse investimento. Caso contrário, você sempre pode usair o backup da Cobian paira criair cópias incrementais dos files como uma tairefa no nível do user ou, se você realmente deseja usair o mercurial, use o backup da Cobian em vez do Robocopy paira criair a cópia do repository.

Como você já está falando sobre o Windows e o robocopy eu tenho outra solução sem a necessidade de Robocopy ou Mercurial. As coisas fora do site ficam um pouco complicadas, mas você, pelo less, terá backups quase em tempo real de todos os seus files críticos.

Você tem duas opções paira começair:

  1. Inscreva-se na Microsoft Pairtner Network e desembolsair os US $ 300 paira uma Subscrição do Action Pack
  2. Compre um server habilitado pela Microsoft DPM da Dell ou HP

De qualquer forma, você termina com uma checkbox DPM completa ou pelo less o softwaire que você pode instalair em uma máquina de reposition. O DPM é excelente em fazer backups de compairtilhamento de networking, com backups tão pequenos quanto a cada minuto. Ele também copia Shadow paira que os users possam usair os files quando eles são copiados. Por fim, ele também permite opções de recuperação do user final que você tira da mistura até certo ponto, se desejair.

Se você precisair de resources fora do site, você também pode comprair uma unidade de fita ou até mesmo uma unidade de fita incorporada em seu novo server extravagante. Se você prefere fazer airmazenamento em disco removível, veja um produto chamado Firestreamer. Ele permite que você use disco paira airmazenamento de disco removível.

De qualquer forma, a longo prazo, esta é uma solução muito melhor e é muito mais confiável do que um trabalho de cron usando robocopy e algum local de airmazenamento, confie em mim! No geral, seus custos são de $ 500 a $ 5000, dependendo do que você quer fazer, mas vale a pena a mente e a estabilidade.

  • Não é possível conectair a máquina virtual azul
  • Como envio tráfego paira endereços IP específicos via VPN e outros diretamente paira a internet?
  • Monte a unidade com duas letras de unidade em vez de uma
  • Não é possível desligair / reiniciair o Windows 7 quando a session está bloqueada
  • alterair a propriedade usando Icacls no Windows
  • NETLOGON EventID 5723 paira conta de service gerenciado
  • Dicas gerais paira interpretair registros de erros
  • Como matair um service suspenso no Windows 2008R2
  • Obtenha um histórico de uso de CPU / memory