Backups das Cavenas!

homem das Cavernas monitor

Galerinha que se divide entre o bem e o mal.

Estava aqui trabalhando e vi um  pen drive de bobeira. Lembrando de onde veio esse pen drive, veio o assunto pro post: Criar um arquivo batch pra copiar e salvar num lugar seguro seus arquivos grandes.

Primeiro a história por trás da história:

Logo que comecamos a trabalhar com um servidor dedicado (um computador que só trabalha como servidor e não como vendas de balcao ou administração), eu criei uma forma de fazer backup nele. Como os arquivos superavam facilmente 100 megas, criei um arquivo .bat (batch) para copiar tudo que tinha na pasta de banco de dados para meu pen drive e fiquei sussa por um bom tempo.

O que me incomodava é que existia espaço limitado no pen drive para fazer “x” backups. Outra coisa, que dependendo do horário, eu poderia perder muitos dados (se colocasse o backup para iniciar as 17hs por exemplo e o computador quebrasse as 16:59 eu perdia o dia todo de vendas!)

E outra coisa: caso desse um bug na database, eu só tinha UMA cópia. Vamos dizer que bichou anteontem. Eu teria copiado novamente DUAS VEZES essa versão bichada, perdendo meu backup “bom”.

Mais pra frente eu criei novas rotinas que copiavam a mesma database, em dias diferentes para pastas diferentes duas vezes por dia. Tava tudo lindo e legal.

Até dar problema, quer dizer.

A época que criei o primeiro sistema de backup, foi logo que instalamos o programa gestor GECON. Quando deu problema no meu servidor (poeira acumulada na fonte, não pergunte), deu bug no banco de dados. Òtimo! Tinha backup pra isso.

Pois não é que o banco de dados NÃO estava na pasta do programa que eu indicava, mas numa pasta separada? Bem dizer eu passei anos pensando que estava “seguro” enquanto eu estava mais perdido que barata sambando no detefon.

Ok. E o que tem a ver esse pen drive? Bem, como não fazia backup, abandonei o pen drive e deixei as rotinas que copiavam o backup (a pasta errada) a deus dará. Algumas funcionavam, outra não… mudei o nome dos computadores e até o nome da rede!

Pois precisei fazer um backup de emergência (do jeito certo) e usei o pen drive de plano B. Cá está ele na minha mesa. E agora josé?

Qual o tamanho do backup? È pequeno? Nuvem!

Se você tem arquivos pequenos como documentos Word ou planilhas Excel e coisas que juntas não passam de 2 gigas, utilize a nuvem para salvar os arquivos. Eu mesmo uso o Dropbox para salvar meus documentos.

Esse sistema da nuvem é o seguinte: Hoje em dia muitos computadores ficam ligados diretos na internet. O que o backup por nuvem faz é sincronizar uma pasta que vocês escolhe, para ser enviada pra internet. Você só faz a configuração inicial e usa a pasta. O programa faz todo o trabalho de copiar.

È útil pois você pode instalar o programa em vários computadores e ter acesso a documentos em todos!

Vamos dizer que você recebeu um arquivo no serviço, que precisa ser alterado. Você salva na pasta escolhida e quando ligar seu computador em casa, o arquivo aparece lá! E vice versa. E é claro, vai estar na internet, podendo ser acessado por você via navegador ou até celular.

Os principais nomes do backup na nuvem, são Dropbox, Google Drive, SkyDrive, SugarSync, Insync, Logmein Cubby, Icloud, Mozy Stach, Spideroak, AVG Live, Kive,Wuala, Box e Syncplicity. O espaço de armazenamento (grátis) varia de 2 a 7 gigas, alguns salvam as versões antigas dos dados de 11 a 30 dias, permitem salvar mais de uma pasta… Tem mais detalhes aqui ó. Pessoalmente eu só uso o dropbox, até por que tudo que fica “fora” do dropbox, consigo acessar via Teamviewer (Teamviewer te permite abrir o computador distante, como se estivesse na frente dele).

Tamanho do Backup? Grande?

Se você não tem o computador ligado direto na internet, ou os arquivos que você quer copiar são muito grandes pra ficar viável, melhor uma cópia local.

Existem sistemas profissionais, RAID e o kct. E existe a solução do neandertal aqui.

Para criar o arquivo que salva suas coisas:

Você vai precisar de um conhecimento mínimo de MS-DOS (o pai do Windows) e pelo menos um pen drive ou computador (em rede no caso do último). E estar com um windows funcionando em cada máquina, vai lá. Lembre-se de não colocar nomes longos ou complicados, por que usaremos o MS-DOS que não entende coisas como sinais  ( + _ #$$#¨) ou espaço.

Primeiramente você abre o bloco de notas e coloca isso:

echo off

xcopy c:\1\*.* \\2\3\ /e /c /i /h /k /d /y

Sem essas aspas nheim.

Echo Off é pra não mostrar o nome do comando que você usou (melhor deixar assim).

xcopy é o comando pra copiar.

c:\ = seu diretório principal – Se a pasta que está seus arquivos está aqui, mantenha.

1 = É pasta onde está os arquivos que você quer copiar – personalize de acordo com a sua.

*.* = todos os arquivos da pasta, com todo tipo de extensão -(.doc  .exe e .etc) – mantenha

\\ = è pra falar que está na sua rede (se for copiar só pra outro diretório no mesmo computador coloque c:\)

2 = O nome do computador na rede – Coloque o seu computador de destino

3 = A pasta onde você vai colocar os arquivos que serão copiados – Nomeie como quiser

Os comandos seguintes são do próprio xcopy, mantenha todos.

/e /c /i /h /k /d /y

/e – É para copiar todas as subpastas (incluíndo as vazias)

/c – Continua copiando mesmo em caso de erro.

/i – Se a pasta “destino” não existe e tem mais que um arquivo, assume que precisa criar um diretório

/h – Copia arquivos de sistema e escondidos também.

/k – Copia os atributos também (sem isso, o xcopy zera os atributos)

/d –  Copia só arquivos que são mais novos do que os que estão na pasta destino (se não mudou nada, não copia nada. Se só 1 de 10 mudou, copia só 1)

/y – Não pede confirmação pra sobreescrever arquivos que já existem na pasta destino. Sem esse /y vc precisa apertar “S” pra CADA ARQUIVO QUE VAI COPIAR POR CIMA.

Ok.

Clique no menu “Arquivo” e em “Salvar Como” no bloco de notas. Primeiro escolha o lugar onde vai salvar – Escolha logo C:/ a pasta raiz. Daí você vai colocar o nome do comando (Segunda, sei lá) e a extensão dele (.bat) no próprio nome. Fica tipo Segunda.bat.

Antes de salvar, diretamente abaixo de onde colocar o nome, está escrito “Salvar como tipo” e deve estar selecionado “Documento de texto txt”. Clique na seta da direita e escolha “Todos os arquivos”. Salve.

Agora você tem o arquivo com o comando que vai achar a pasta que você quer guardar (vc indicou o caminho)  e o comando vai jogar na pasta que você indicou. O plano é criar a pasta de destino no computador/pen drive, ou não funciona. Vai lá na pasta/computador que indicou e cria a pasta com o exacto mesmo nome que colocou no arquivo .bat.

Jóia. Coloca o arquivo .bat no computador que vai fazer o trabalho. Em executar no menu iniciar, digite CMD (command). Vai aparecer a tela preta. Vá para pasta onde está o arquivo (se salvou na pasta raiz, digite cd.. e dê enter até ficar só ” c:\” no prompt de comando.

Agora digite o nome do comando bat (não precisa colocar a extensão). Tipo, digite segunda.

Deve rodar o arquivo sem falha.  Caso não tenha arquivos no diretório de origem, coloque um arquivo de texto só pra ver. Deve copiar.

Agora olhe no diretório de destino: Copiou?

Se não copiar, pode ter vários fatores: Vc copiou exactamente como eu coloquei aqui?

Pode ser que você não tem permissão de mexer na pasta de destino. No computador destino, compartilhe a pasta e permita que os arquivos sejam alterados.

Essa é a típica coisa que é mais complicado explicar do que fazer. Conseguiu fazer o BAT funcionar?

Hora de Agendar

Por que agendar? Por que o windows vai fazer o backup por você, sem a sua interferência. È simplíssimo.

No menu inicial, vá para Programas>Acessórios>Ferramentas de Sistema e clique em Tarefas Agendadas.

Na janela que abre, clique em Adicionar Tarefa Agendada. Clique Avançar.

Nessa janela você precisa escolher o programa uqe vai rodar, escolha “procurar” para escolher o arquivo na pasta que você o colocou.

Escolha o nome e de quando em quando você quer que o programa seja executado. Clique em Avançar.

Escolha a hora que quer que o programa inicie. Avançar.

Nessa tela você precisa colocar o nome do usuário E a senha. E se você não sabe nada disso, clique em avançar. Na tela que aparece agora, selecione “Abrir as propriedades…” e clique em concluir. Deve dar um erro 0x80070005: Acesso negado. Fique frio. Dê Ok.

Vá em “propriedades” do agendamento que você fez e deixe a caixa “executar somente se conectado” e a “Ativada” selecionadas. Pode dar Ok.

Pronto, sua tarefa foi agendada para ser executada no horário que você escolheu.

O arquivo bat que você criou pra fazer o backup, agendado, é a maneira mais simples de automatizar um backup. Existem meios melhores? com certeza.

Mais fáceis? Possivelmente.

Simplistas? Não.

Infelizmente, rola uma margem de erro, mas nada que uma boa fuçada no google não sane.

Ou podem me perguntar aqui no blog.