Arquivo de backup e bancos de dados SQL 1C (na nuvem e com criptografia)

Neste artigo, quero compartilhar a experiência de fazer backup de bancos de dados de arquivos e SQL 1C no armazenamento local, de rede e em nuvem (usando o exemplo do Google Drive) usando o Effector Saver.

O software é pago: 2500 rublos.
A transição para a nova versão (de 3 para 4) também é paga: 1250₽.

Escrevi instruções para um amigo, mas acho que será útil para um de vocês.

E como sempre, nos comentários, você me ensinará algo novo =)

No final da instrução, há um exemplo de um log que mostra a velocidade da tarefa.

Objetivo:
Criação automática de backups criptografados em um agendamento com um relatório de erro no email.

Backups lógicos:

  • Diariamente últimos 30 un. (Validade 1 mês)
  • 1º dia mensal últimos 24 pcs (prazo de validade 2 anos)
  • Anualmente, 1 de fevereiro, as últimas 10 peças (validade 10 anos)
  • Os backups são carregados no armazenamento de backup (local ou rede) na conta de backup
  • Os backups são carregados na nuvem do Goole Drive (possivelmente com seu próprio Cliente / Segredo OAuth ID)
  • Relatório de erro por e-mail

Uma pequena explicação

  • Este manual é fornecido como um exemplo de uso pronto que pode e deve ser adaptado às suas necessidades.
  • As tarefas podem ser executadas ao mesmo tempo, porque tarefas paralelas são suportadas, o que reduz significativamente o tempo para backups.
  • Cópias adicionais são realizadas com base na tarefa, ou seja, copiando o último backup já criado. Por exemplo, se uma cópia adicional tiver que ser executada no dia 10 e o backup da tarefa selecionada a partir do dia 10 terminar com um erro (e não intervimos), a cópia adicional fará uma cópia do último backup bem-sucedido da tarefa selecionada, no nosso exemplo será a partir do dia 9.
  • No programa, você pode configurar o descarregamento de bancos de dados usando as ferramentas 1C na forma de arquivos .dt, com bloqueio / desbloqueio automático do banco de dados e ejeção de usuários. Neste manual, esse método não é considerado uma maneira não confiável de fazer backup do formato .dt.

1. Instalação e configuração
Instale, execute.
- Ferramentas> Opções

  • Carregamento automático
    Executar como um serviço do Windows (servidor)
    usuário de backup, sua senha

    Explicações para o usuário de backup, para o qual uma conta separada
    Para backups, considero importante criar e usar uma conta separada, por exemplo, backup. Pode ser contabilidade local e de domínio.
    O acesso ao armazenamento de backup para administradores deve ser configurado para leitura e somente para gravação do backup contábil. Isso protegerá seus backups de muitos perigos (cabeça ruim, vírus). E se você precisar fazer alterações no armazenamento de backup, sempre poderá obter acesso temporário ou executar qualquer explorador (por exemplo, Total Commander) em nome da conta de backup para obter acesso total ao armazenamento.

  • Parâmetros do agente
    Permitir trabalho simultâneo de tarefas de streaming : 5
    Selecionamos a Internet na potência do servidor e na velocidade do canal (para fazer o upload para a nuvem)
    Use o diretório especificado de arquivos temporários :
    \\ NAS \ Backup \ Temp

    Explicação do caminho da rede
    É desejável colocar a pasta de rede no computador com este programa, ou seja, de fato, para nós, será uma pasta local (se a velocidade permitir, qualquer outro caminho de rede).
    O acesso à pasta Temp (diretório de arquivos temporários) deve ser:

    1. para gravação de backup
    2. para contabilidade na qual o serviço MS SQL Server está sendo executado para gravação
    3. administradores para ler

    Infelizmente, este programa não relata seus recursos ao usuário quando ele configura um backup dos bancos de dados SQL. Ela acredita que o servidor SQL está no mesmo computador que ela. Quando um backup do banco de dados SQL é criado, o caminho para a pasta temporária é passado literalmente para o servidor SQL, e o servidor SQL carrega o backup na sua pasta temporária local. Depois disso, ele não consegue encontrar o backup em sua pasta temporária e gera um erro.

    Para contornar essa restrição, selecionamos o caminho da rede para a pasta temporária. Em seguida, o servidor SQL receberá o caminho da rede e descarregará o backup neste endereço.

    Nas versões futuras, os desenvolvedores prometeram pensar em adicionar uma configuração para tarefas de backup SQL, na qual seria possível especificar um caminho de rede para descarregar e não alterar o caminho geral para pastas temporárias.
  • Opções do gerente
    Defina uma senha se um usuário indesejado puder acessar o programa.
  • Arquivar arquivos
    Opções para finalizar o nome do arquivo : aaaa.mm.dd_hh.nn.ss
    Para estética e nome sem espaços (hábito antigo)
  • Escritório
    Dados do aplicativo OAuth na nuvem - Atualizar dados ClientID / ClientSecret

    Não é necessário fazer alterações aqui, mas como sempre, há uma pequena
    Recentemente, recebi um erro ao fazer o upload de backups para a nuvem devido à excedência dos limites do OAuth. O erro ocorreu apenas uma vez, os desenvolvedores resolveram esse problema, mas por que esperar novamente? Decidi colocar meu OAuth no Google Drive e esquecê-lo.
    Instruções com fotos sobre como obter seu ID e segredo de cliente encontradas aqui: https://github.com/Cloudbox/Cloudbox/wiki/Google-Drive-API-Client-ID-and-Client-Secret

2. Preparação
- Ferramentas> Gerenciamento de armazenamento> Criar
  • Pasta local / de rede :
    Tudo está claro aqui, seguindo nossa lógica de backup (no início do artigo), criamos 3 repositórios por conveniência
    \\ NAS \ Backup \ EveryDay
    \\ NAS \ Backup \ EveryMonth
    \\ NAS \ Backup \ Todo ano
  • Google drive :
    Crie uma conexão com a unidade do Google Cloud.
    Vamos dar o nome de acordo com a nossa lógica: EveryDay
    Clique no botão Autorização , insira o nome de usuário / senha, pronto.

    Se você configurá-lo remotamente em um servidor ou outro computador
    Então você pode executar a autorização de uma maneira alternativa. Fechamos a janela de entrada de login e senha - um erro de autorização aparece - clique no botão Modo de usuário e, em seguida, clique no link Obter código de confirmação, o link de autorização será aberto no navegador. Copie o link para o seu computador, efetue login no seu computador, confirme os direitos de acesso, obtenha a chave, copie-o de volta para o campo na janela de autorização do Aplicativo no modo de usuário , clique em OK

    Escolha o caminho para a pasta na nuvem, da mesma forma:
    Backup / todos os dias

    Fazemos armazenamento em nuvem adicional para cópias mensais e anuais através de cópia (Criar> Copiar)
    Como resultado, obtemos 3 armazenamento na nuvem:
    Todos os dias (Google Drive)
    A cada mês (Google Drive)
    Todo ano (Google Drive)
    Isso conclui a instalação do Warehouse Management .

3. Criando tarefas de backup

3.1 Tarefas> Adicionar Tarefa> Fazendo Backup de Arquivos e Bancos de Dados (SQL)
  • Parâmetros-chave
    Incluir backup do banco de dados SQL no arquivo morto (por exemplo, Microsoft SQL Server)
  • Microsoft SQL Base
    Registramos todos os detalhes.
    Verificamos se a porta TCP 1433 está aberta no servidor MS SQL.
    Clique: Verificar
  • Armazenamento de arquivo
    - Adicione armazenamento \\ NAS \ Backup \ EveryDay
    Excluir automaticamente backups obsoletos : 30
    - Adicione armazenamento todos os dias (Google Drive)
    Excluir automaticamente backups obsoletos : 30
  • Arquivar arquivo
    Nome do arquivo morto: nome do banco de dados
    Fim do nome do arquivo : aaaa.mm.dd_hh.nn.ss
    Arquivamento
    Formato : 7z
    Compressão : sem compressão

    Por que nenhuma compressão?
    Ao fazer backup do seu banco de dados SQL, considere duas opções

    1. Compactação de banco de dados usando ferramentas do servidor SQL. - Rápido, mas comprime pior que 7z.
    Se você escolher esta opção, precisará de:
    - Selecionar: sem compactação (uma vez que a compactação de um arquivo .bak já compactado é inútil)
    - Nas propriedades do MS SQL Server, inclua : Opções do banco de dados> Compactar backups.

    2. Compactação de banco de dados com 7z - Lenta, mas compacta melhor que SQL.
    Se você escolher esta opção, precisará de:
    - Selecionar: compressão máxima
    - Nas propriedades do servidor MS SQL, desative : Parâmetros do banco de dados> Compactar backups.

    Nos backups do SQL, eu uso a primeira opção, embora seja mais compacta, mas o descarregamento é feito em questão de minutos (ou até segundos). Mas a segunda opção pode durar horas.

    Nas versões futuras do programa, os desenvolvedores prometeram pensar em adicionar uma opção para compactar os bancos de dados MS SQL nas propriedades da tarefa, para não se deparar com as propriedades do servidor MS SQL.

    Criptografar arquivos
    Criptografar nomes de arquivo
    Defina uma senha (anote, se você esquecer, os backups não serão restaurados)
  • Programação de inicialização:
    Executar dentro do cronograma : ativar
    Diariamente 03:00
  • Interrompa uma tarefa em: enable
    2 horas 0 min

3.2 Tarefas> Adicionar tarefa> Fazendo backup de arquivos e bancos de dados (arquivo)
  • Parâmetros-chave
    Incluir arquivos no arquivo morto
  • Arquivos
    O caminho para os arquivos : Escolha o caminho para a pasta na qual as bases de arquivos 1C estão localizadas, por exemplo, “D: \ Bases”
    Se quisermos fazer backup de todos os bancos de dados em subdiretórios, selecione:
    Nomes de arquivos salvos, diretórios ... :
    1Cv8.1CD
    Incluir subdiretórios (recursivamente)

    Se quisermos fazer backup de bancos de dados selecionados em subdiretórios, selecione:
    Nomes de arquivos salvos, diretórios ... :
    Buh \ 1Cv8.1CD
    Comércio \ 1Cv8.1CD
  • Armazenamento de arquivo
    - Adicione armazenamento \\ NAS \ Backup \ EveryDay
    Excluir automaticamente backups obsoletos : 30
    - Adicione armazenamento todos os dias (Google Drive)
    Excluir automaticamente backups obsoletos : 30
  • Arquivar arquivo
    Nome do arquivo morto: nome do banco de dados
    Fim do nome do arquivo : aaaa.mm.dd_hh.nn.ss
    Arquivamento
    Formato : 7z
    Compressão : máxima
    Criptografar arquivos
    Criptografar nomes de arquivo
    Defina uma senha (anote, se você esquecer, os backups não serão restaurados)
  • Programação de inicialização:
    Executar dentro do cronograma : ativar
    Diariamente 03:00
  • Interrompa uma tarefa em: enable
    2 horas 0 min

Configuramos as principais tarefas de backup diário, passamos a outras

4. Tarefas> Adicionar tarefa> Cópia adicional
  • Parâmetros-chave
    Tarefa de backup - origem : selecione a tarefa desejada
    Armazenamento ... fonte : selecione armazenamento \\ NAS \ Backup \ EveryDay
  • Armazenamento de arquivo
    - Adicione armazenamento \\ NAS \ Backup \ EveryMonth
    Excluir automaticamente backups obsoletos : 24
    - Adicione armazenamento EveryMonth (Google Drive)
    Excluir automaticamente backups obsoletos : 24
  • Arquivar arquivo
    Nome do arquivo morto: nome do banco de dados
    Fim do nome do arquivo : aaaa.mm.dd_hh.nn.ss
    Arquivamento
    Formato : 7z
    Compressão : sem compressão
    Criptografar arquivos
    Criptografar nomes de arquivo
    Defina uma senha (anote, se você esquecer, os backups não serão restaurados)
  • Programação de inicialização:
    Executar dentro do cronograma : ativar
    Mensal. Todos os meses são 1º dia.
    05:00
  • Interrompa uma tarefa em: enable
    2 horas 0 min

Por analogia, criamos a tarefa de cópia adicional para o plano anual , para acelerar, copiar a última tarefa mensal e alterar o nome, armazenamento e agendamento nela
  • Armazenamento de arquivo
    - Adicione armazenamento \\ NAS \ Backup \ EveryYear
    Excluir automaticamente backups obsoletos : 12
    - Adicione armazenamento EveryYear (Google Drive)
    Excluir automaticamente backups obsoletos : 12
  • Programação de inicialização:
    Executar dentro do cronograma : ativar
    Mensal. 1 de fevereiro (ano encerrado)
    05:00

Configuramos tarefas de backup adicionais, prosseguimos para a geração de relatórios por email

5. Tarefas> Adicionar tarefa> Enviando relatórios
  • Parâmetros-chave
    Número de dias ... : 1
  • Nós selecionamos todas as tarefas, para todas nós selecionamos o filtro de registro: Entradas de log com erros
  • Opções de Correio
    Preencha os detalhes do e-mail. Onde e com qual tópico enviar relatórios.
  • Programação de inicialização:
    Executar dentro do cronograma : ativar
    Diariamente
    07:00

Resta executar todas as tarefas por vez e verificar se há erros.

Um exemplo de um log de backup do banco de dados MS SQL pesando 52 GB (mdf):
===========================================
: Base1
:
: SRVTS0
: 4.5 / 2
: ,
: 11.11.2019 4:01:08
: 11.11.2019 5:13:57
:
===========================================
11.11.2019 4:01:08 - MSSQL "Base1" ...
11.11.2019 4:01:08 - SQL Server version 11
11.11.2019 4:22:15 -
11.11.2019 4:22:15 - ...
11.11.2019 4:22:15 - 7z, , c
11.11.2019 4:26:50 - 1 , 0
11.11.2019 4:26:50 -
11.11.2019 4:26:52 - 5,41 GB "EveryDay (Google )" ...
11.11.2019 4:26:54 - "Base1_2019.11.11_04.26.52.7z" 5,41 GB (1 1)
11.11.2019 5:13:57 -
11.11.2019 4:26:52 - 5,41 GB "\\NAS\Backup\EveryDay" ...
11.11.2019 4:26:52 - "Base1_2019.11.11_04.26.52.7z" 5,41 GB (1 1)
11.11.2019 4:28:13 -

Pode ser visto no log que o download para o armazenamento e a nuvem começaram simultaneamente.
O backup do cofre foi concluído após 27 minutos. E foi carregado na nuvem após 1 hora e 12 minutos desde o início da tarefa.
Desde que, ao mesmo tempo, mais 4 tarefas de backup dos bancos de dados sejam executadas ao mesmo tempo, com tamanhos de 38 GB, 28 GB, 6 GB e 5 GB (mdf).
Todas as tarefas foram iniciadas simultaneamente às 4:00 e concluídas com êxito antes das 5:15:00.

Conclusões:

Obviamente, existem falhas menores, exceto aquelas que já foram descritas no artigo:

  • a incapacidade de exportar e importar configurações e tarefas na forma de um arquivo de texto (ou seja, um arquivo de texto, não mdb, etc., para que você possa abrir e editar facilmente)
  • não há salvamento visual das configurações do OAuth, ele está sempre vazio e não está claro se está configurado ou não.
  • não há como ativar / desativar tarefas rapidamente (você precisa abrir cada uma e ir para a programação). Embora a janela principal solicite intuitivamente um clique duplo na marca de seleção.

Mas, no geral, fiquei muito satisfeito com o resultado. Eu acho o programa muito útil.

Escreva sobre seus algoritmos de backup que podem ter ajudado muito e podem ser úteis para outras pessoas.
UPD1: Adicionadas informações sobre o custo do software, graças ao Filex

Source: https://habr.com/ru/post/pt474944/


All Articles