Robocopy – Backup Automatizado.


Fala pessoal de TI, como estão.

Hoje vou falar sobre robocopy ! O pessoal da velha guarda como eu se lembra muito bem dele.

O Robust File Copy “Robocopy” surgiu ainda no velho Windows NT como um resouce kit e após Windows Vista como um recurso.

É uma ótima ferramenta de linha de comando para copia, backup e replicação de dados. Tem como ventagens:

– Copias exatas de diretórios inteiros com suas permissões, atributos, arquivos ocultos e negados;

– Copias de arquivos com mais 256 caracteres, com limite teórico de 32.000 caracteres;

– Retomadas de cópias em caso de interrupção de rede;

– Capacidade de ignorar arquivos que ja estão na pasta destino caso tenham mesmo tamanho e timestamp;

– Cópia multihead para versões acima de Windows Server 2008 / Windows 7;

Mas há desvantagens, pois, ele não faz cópias de arquivos abertos, ou seja, não usa o tão bom e necessário Volume Shadow Copy. Podemos utilizar outras ferramentas em conjunto como o DiskShadown ( falo dele em outra ocasião ) para, fazer uma copia de um arquivo que você sabe que estará aberto para uma pasta temporária e após com o Robocopy executar sua rotina de cópia.

Vamos lá

Acesse um prompt de comando, caso seu usuário tenha poucas permissões use o nível elevado.

Na linda de comando digite C:robocopy.

Recebemos um overview com uma sintaxe básica de uso. Podemos digitar robocopy /? para acessar o arquivo completo de ajuda.

Aqui como ele nos é apresentado.

Converti o arquivo em TXT e você pode fazer o download dele AQUI.

A sintaxe básica é: C:robocopy “Pasta_Origem” “Pasta_Destino” ( sem aspas e com um espaço entre origem e destino ).

Abaixo mostro uma sintaxe que costumo usar.

C:robocopy D:Dados E:BKP_DADOS /J /MaxAge:1 /S /LOG+:E:BKP_DADOSLOGlog_bkp_dados.txt

Nela além de obviamente origem e destino uso:

/J – para cópia de arquivos grandes.

/MaxAge: – para determinar a idade do arquivo que quero copiar. No caso de 1 é para arquivo mais novo que 1 dia, ou seja, de ontem para hoje.

/S – para subdiretório. Não há cópias de subdiretórios vazios. Caso tenha essa necessidade deve usar o /E.

/LOG+: – Para criar um arquivo de log. Devemos indicar o localnome.txt para que o arquivo seja criado. O sinal de + significa que o log será atualizado, criando assim um historico. Se você não tenha necessidade, retire o + e o log sempre será sobrescrito.

Neste ponto estamos prontos para executar nossa cópia de arquivos, ou backup como queiram.

Execute e veja os resultados, consulte o log para ver se tudo ocorreu como esperado.

Agendamento.

Quando falamos em backup, falamos em praticamente todos os casos em automatização, agendamento.

O robocopy oferece agendamento, porém, não há grandes opções. Como melhorar ?

Já que essa ferramenta é por linha de comando, podemos então criar um arquivo de lote (.bat, .cmd) e usar o agendador de tarefas do Windows para otimizar nossas tarefas de cópia.

Abra um bloco de notas simples e digite nele, ou copie e cole sua linha de comando.

Save o arquivo, mas não como txt e sim como uma das extensões .bat ou .cmd.

Lembre-se para mudarmos a extensão, tem que em Save as type, selecionar All Files.

Eu procuro sempre salvar este tipo de arquivo onde ele não possa ser deletado acidentalmente, então crio uma pasta dentro de algum diretório do sistema ( Ex. Programs Files ) chamada Scripts e dentro delas concentro todos eles.

Podemos estão usar nosso Agendador de Tarefas para a execução do nosso script.

Você pode digitar no Executar Taskschd.msc, ou acessa-lo dentro de Ferramentas Administrativas.

É possível ainda usa-lo através de linha de comando C:Schtasks.exe /?

Acessando a ferramenta temos a seguinte tela.

Para agendarmos uma nova tarefa clicamos com o botão direito do mouse em Task Scheduler e após selecionamos com o botão esquerdo Create Basic Task.

Temos algumas outras opções que vocês podem explorar depois.

Temos então a tela de nome para nosso agendamento. Preencha os campos e clique em Next.

Temos a tela de periodicidade. De acordo com sua necessidade escolha.

No meu caso será diário.

Temos a tela de incio ( Data e Hora ). Preencha de acordo com sua necessidade.

O agendamento recorrente, utilizamos o campos Recur every, onde 1 significa todos os dias, 2 para cada 2 dias e assim sucessivamente.

Clique em Next.

Obs: Explore depois os outros tipos de agendamento. Normalmente usamos, diários, semanais e em alguns casos muito específicos o Mensal.

Após temos a tela de ação. Selecione Star a Program e clique em Next.

Utilize o botão Browse… e selecione o script que você criou.

Clique em Next.

Após temos o sumário de nosso agendamento. Revise.

Clique em Finish.

Retornaremos a tela inicial onde poderemos ver no painel a direita nosso agendamento cadastrado.

Você pode então desde que a situação permita, testar seu agendamento, clicando com o botão direito do mouse em cima dele e após com o esquerdo em RUN.

Outra dica que deixo é que podemos dentro de um mesmo agendamento utilizar vários horários, ou seja, digamos que você precise fazer três copias ao dia da mesma pasta ou arquivo. Então não precisamos criar três agendamentos e sim um agendamento com três horários.

Utilizando o exemplo da tela anterior acesse as propriedades do agendamento utilizando a opção Properties.

Teremos a tela abaixo. Note que temos mais opções a explorar.

Esta mesma tela nos é apresentada quando ao criarmos um agendamento ao invés de escolhermos Create Basic Task, escolhemos a próxima opção: Create Task.

Clique na segunda aba: Triggers.

Após clique no botão New. Teremos então a tela New Trigger.

Selecione em Settings a opção Day, agende o dia e hora de start e mantenha o Recur every em 1.

Clique em OK.

Tem os então um novo horário configurado dentro um mesmo agendamento.

Podemos mesclar o uso de dias e horas, onde podemos ter agendamentos diários, semanais e mensais.

Utilizamos então até aqui, duas ferramentas que juntas forma uma equipe poderosa em copias de segurança.

Quero ainda complementar este post falando sobre o Windows Server Backup, ferramenta esta que pode complementar as cópias de segurança para seu ambiente, obviamente de pequeno porte garantindo assim a possibilidade de recovery em caso de um desastre.

Esta ferramenta é uma Feature e por isso precisa ser instalada.

Acesse seu Server Manager e mande instalar a Feature Windows Server Backup.

O processo é fácil, então não vou printar todas as telas aqui.

Após instalada acesse a ferramenta que esta em Windows Accessories.

Você pode também digitar em executar: wbadmin.msc

Temos o painel a seguir.

Como disse vou fazer apenas uma introdução, pois, já estou preparando um posto mais completo sobre a ferramenta.

Para cria uma nova tarefa clique com o botão direito em Local Backup e selecione Backup Schedule.

Inicio do Wizard. Clique em Next.

Obs. A opção Full Server é uma cópia que chamamo de BareMetal, explico mais a frente.

Escolhemos a opção Custom, pois, nos mostrará mais opções. Clique em Next.

Na próxima tela clique em Add Items.

Teremos então a tela a seguir.

Aqui entram duas explicações:

Porque falar sobre Windows Server Backup agora sendo que não será completo ?

Porque podemos fazer backups importantes do seu servidor, não de arquivos, mas sim de dois estados atuais do seu servidor. Estados estes que chamamos de BareMetal e SystemState, ou seja, se você ainda não tem … faça agora !!!

Imagine o seguinte. Seu servidor teve problemas irrecuperáveis e a única solução foi formatar. Seu gerente está fazendo um pressão enorme, pois, o sistema de gestão esta offline. Dependendo da situação fica impraticável fazer isso em um curto espaço de tempo, formatar, instalar drivers, fazer Windows Update, instalar o sistema de gestão, que em muitos casos pode necessitar de terceiros, configurar tudo e por ai vai. Ja imaginou ?

E se pudêssemos recuperar totalmente seu servidor apenas retornando um backup de seu estado. Podemos faze-lo desde que tenhamos um backup BareMetal e ou de SystemState, diminuindo assim drasticamente uma indisponibilidade.

Obviamente que existem casos e casos, mas em boa parte deles isso é aplicável, salva a pátria e mostra sua competência !.

Porque esta ferramenta merece um post exclusivo?

Porque a ferramenta tem suas peculiaridades, assemelhando-se a suites de grande porte para backup no que se refere a backup e restore. Explicando um pouco mais, ao criar um backup com Windows Server Backup não é feito uma simples cópia, estes dados em seu destino não estarão disponíveis a apenas dois cliques. É preciso fazer um restore, escolhendo a pasta original ou uma pasta temporária, entenda como se fosse uma compactação e descompactação do arquivo, ou seja, há procedimentos.

Então quero explicar aqui apenas como fazer um backup BareMetal ou SystemState, para que você fique seguro, após mesmo que em um outro post ou pesquisando por ai, aprender como fazer um restore.

E qual a diferença entre Bare Metal e System State?

System State, devolve uma função, um exemplo, corrompeu deu banco de dado do Active Directory, ou seja, é apenas o Active Directory, não há necessidade de restaurar o server por completo.

Bare Metal, devolve seu server por completo, no caso de uma formatação como exemplifiquei.

Então tenha sempre, um backup BareMetal e vários backups SystemState de acordo com as mudanças do seu server.

Continuando !!!

Completando o processo, escolha a opção System State, após clique em OK

Escolha o agendamento, para um ou mais no dia. Clique em Next.

Escolhemos aqui onde salvaremos nosso backup de System State.

Disco dedicado a backups: Por padrão é o recomendado, porém, o disco será utilizado apenas para essa finalidade. Cuidado, pois, se selecionado ele irá apagar qualquer dado que estiver no disco.

Backup para um volume: Nesta opção você não corre o risco de perder quaisquer dados que tenham no disco, porém, ele avisa : A performance do disco reduz 200 por cento ao usá-lo.

Backup para um compartilhamento de rede: Sim é possível copiar direto para um compartilhamento, porém, temos o custo do tráfego na rede.

Escolha a segunda opção, e vamos selecionar um volume para o backup. Clique em Next.

Em Select Destination Volume, clique no botão Add para selecionar um volume.

Note que temos os volumes, capacidade e espaço livre de cada um.

Selecione um e clique em OK.

Clique em Next.

Clique em Finish.

Temos o Summary.

Retornando a tela principal temos o agendamento feito da tarefa.

Imagem de um backup de System State acontecendo.

Backup realizado.

Vamos dar uma olhada na estrutura de pastas.

Temos então uma pasta criada com o nome de WindowsImageBackupPMR-DC01. Dentro dela toda um estrutura de pastas e arquivos. Logs, Metadados, Cache e etc.

PMR-DC01 é meu servidor.

Abrindo a pasta com o nome Backup+data temos:

Sim isso mesmo, um VHD.

Bom é isso, quero o mais rápido possível complementar com um post maior sobre o Windows Server Backup evidentemente abrangendo o recovery BareMetal e SystemState.

Terminando …

Dicas de backups.

Seja organizado – Documente tudo !!!. Relacione cada servidor, cada serviço, cada pasta, cada database, cada horário. Um item importante é documentar o destino principalmente quando se usa fitas, etiquete tudo e ou no caso de discos, crie um estrutura logica de pastas que reflita seu ambiente.

Faça testes de restore – Se possível, tenha um ambiente semelhante de testes para seus restores. Teste o restore daquele servidor, serviço ou database. Se você compacta algum backup, tenha atenção redobrada com isso, faça testes regulares de descompactação.

Replique seus backups – Backups dentro do próprio servidor, servidor de backups ou fita, sendo que isso tudo armazenado dentro de uma unica sala, não significa segurança. Mostre ao seu gerente/diretor que o maior patrimônio é o dado e por isso merece cuidados.

Acompanhe todas copias – Dependendo do volume é impossível ver item por item, então utilizar logs para acompanhamento é um ótima alternativa.

Espaço – Tenha uma solução escalável. Um dos maiores custos em TI é armazenamento, então é comum termos espaço reduzido para cópias de segurança, fique atento ao espaço, criando uma rotina de descarte de backups antigos para que novos possam ser feitos. Não há mágica, precisou de espaço tem que ser adquirido.

Fitas – Cuide bem delas, tenha caixa e local apropriado para armazenamento.

Espero que este gigantesco post e suas quase 40 imagens tenham sido de grande proveito.

Abraço e até o próximo post.

Dúvidas/Sugestões/Reclamações: ricardo.santos@adminderedes.com.br