Backup do Windows sobre SCP para Linux

3

Eu preciso fazer backup regularmente de alguns arquivos de uma caixa do Windows localmente (em uma unidade diferente) e para um local remoto pela Internet. Estou pensando em usar o 7zip criar os backups incrementais na máquina local e, em seguida, criar scripts WinSCP para enviá-los para uma caixa remota executando um Servidor OpenSSH que (provavelmente por meio de um cron job) cuidará de sair com os backups e armazená-los em pastas organizadas.

Com os links fornecidos acima, acho que posso juntar isso, mas minha pergunta é se essa é uma solução "boa" ou não. Existe alguma coisa que eu estou negligenciando com esse método? Existe uma maneira melhor (mais simples?) Para eu fazer isso (nota: o projeto tem 0 orçamento, então enquanto eu sou um grande fã do Backblaze, está fora desta vez)? Existe alguma preocupação de segurança indevida que estou ignorando? Acho que estou procurando um tipo de "melhor prática" aqui.

Obrigado!

    
por mrduclaw 03.12.2009 / 23:37

5 respostas

2

7zip + pscp [vindo de massa ] + chave privada sem frase secreta funcionará bem do windows. Eu não sei qual é o tamanho dos seus dados, com que frequência ele muda e assim por diante; não é uma prática recomendada, mas aqui está o que eu uso:

  • vshadow da cópia de sombra de volume da Microsoft para criar um instantâneo do sistema de arquivos do Windows [e evitar problemas com arquivos abertos / bloqueados]
  • SHADOWRSYNC script com pequenas modificações - substituí o rsync por
  • .. rdiff-backup para lidar com backup diferencial
  • plink do putty para permitir a camada de transporte segura para o rdiff-backup sobre a conexão ssh.

isso me dá uma maneira útil, não com muita largura de banda, de fazer backup de dados com a capacidade de recuperar n versões anteriores de arquivos alterados.

    
por 03.12.2009 / 23:56
2

Há também a duplicidade se você estiver interessado em rsync + gnupg encryption + ssh / s3 / vários outros back-ends de armazenamento. Há um pouco de trabalho de perna envolvido em fazê-lo funcionar no Windows (ou seja, instalar o Cygwin e os pacotes de software de suporte necessários), mas isso não é muito difícil.

Você terá o benefício de backups diferenciados e criptografados que podem ser armazenados em um servidor Linux (ou outro habilitado para SSH), no S3 da Amazon, etc.

    
por 04.12.2009 / 00:00
1

Eu segundo rsync + ssh, é isso que estou usando na minha própria rede

Considere também o rsnapshot para backups

    
por 04.12.2009 / 02:04
1

really like this solution. Thank you. I've never played with the shadow copy stuff before, but it looks super useful. This will let me back up MSSQL databases without stopping the service, right?

Não, absolutamente não. Você não pode fazer backup ingenuamente de um banco de dados aberto porque seus vários arquivos de componentes estarão fora de sincronia e você perderá o material na memória. Você deve desligá-lo ou usar um dos métodos de backup nativos do Sql Server ou uma solução proprietária.

    
por 04.12.2009 / 07:16
1

(copiado de um artigo que acabei de colocar no Stack Overflow)

O pessoal do MSSQLTips tem alguns artigos muito úteis, o mais relevante para isso é " Automatizando o SQL Server 2005 Express Backups e exclusão de arquivos de backup antigos "

A abordagem básica é configurar duas tarefas usando o Agendador de Tarefas do Windows. Uma tarefa executa um script TSQL que gera arquivos de backup separados para todos os bancos de dados MSSQL (exceto TEMPDB) com o nome do banco de dados e um carimbo de data / hora no nome do arquivo em um diretório especificado. A segunda tarefa executa um script VBScript que passa por esse diretório e exclui todos os arquivos com uma extensão .BAK com mais de três dias.

Ambos os scripts requerem edição menor para o seu ambiente (caminhos, por quanto tempo manter esses dumps de banco de dados), mas estão muito próximos de drop-in-and-run.

Observe que há possíveis implicações de segurança se você estiver desleixado com essas ou com as permissões de diretório, pois elas são arquivos de texto simples que precisam ser executados com algum nível de privilégio. Não seja desleixado.

Eu não sei sobre os requisitos para configurações do tipo mestre / escravo com MSSQL, mas ele suporta replicação e há documentação por aí. Espero que a mesma documentação indique se é possível fazê-lo com o MSDE / Express, bem como com o produto completo.

Resposta original, revisada para baixo aqui porque minha compreensão de leitura era ruim e eu li o MSSQL como MySQL:

Para backups de banco de dados, veja a documentação do MySQL. Entre outras opções, mysqldump ou (possivelmente) mysqlhotcopy permitem que você descarregue o conteúdo do banco de dados para backup, mesmo quando ele estiver em uso. Da minha leitura da documentação, você geralmente não teria interrupções perceptíveis.

Uma desvantagem dessa abordagem é que ela fornece um novo arquivo de despejo a cada vez, portanto, o rsync pode não ajudar a reduzir o tráfego de rede.

Outra opção seria executar servidores Master e Slave MySQL - eu não fiz isso ainda (apenas um cliente fazendo qualquer coisa com o MySQL), mas há muita documentação disponível, incluindo Como fazer backup de bancos de dados MySQL sem interromper o MySQL no HowToForge

    
por 04.12.2009 / 08:54