Pesquisar por palavra-chave:

sexta-feira, 5 de agosto de 2011

script de back-up automático

O MS-DOS, embora considerado ultrapassado ainda tem suas utilidades, se não, as versões do windows não viriam com o prompt de comandos, dentre as funções, a possibilidade de criação de script´s, como o que eu vou ensinar agora.
Para começar, vamos conhecer mais sobre arquivos “.bat”:
Os batch´s executam comandos de DOS, podemos criar diversos tipos de script´s, basta um bom conhecimento sobre os comandos, recomendo para leigos, abrir o prompt de comando (iniciar > programas > acessórios > Prompt de comando) e digitar “help” (sem as haspas).
Script de back-up automático para Windows XP:
Abra o Prompt de comando e digite “edit”, abrirá o editor de arquivos, é um programa com o fundo azul (explicação para leigos rsrs)
no edit digite o seguinte script:

conheça a nova versão deste script:
acesse: http://professorsilvertone.blogspot.com.br/2014/09/nova-versao-do-script-de-backup.html

@echo off
echo script iniciado em %date% as %time%
echo este script gera um backup automatico de seus arquivos
pause
cd\
D:
rd /S /Q backup
md backup
c:
cd documents and settings
xcopy *.* /s /q d:\backup
echo backup concluido com sucesso




Após criar este script, clique em “arquivo” do edit, e “salvar como”,
salve como “backup.bat”
Obs: a sétima linha do script indica a unidade de disco onde será criado o backup, pode ser uma outra partição ou até outro disco, antes de definir a unidade lógica no seu script, verifique a letra da mesma, no meu exemplo é D:.
Bom para quem não entendeu o que aconteceu, aqui vai a explicação:
A primeira linha desativa o “echo de comando” á partir daí, sempre que digitar o comando “echo” voce pode digitar uma mensagem para aparecer na tela, é o que acontece na linha abaixo.
A segunda linha exibe uma mensagem com variáveis (os que estão entre porcentagens) a primeira variável exibe a data do sistema,(%date%) a segunda variável exibe a hora do sistema (%time%)
A terceira linha exibe outra mansagem na tela avisando sobre o script e a quarta linha, faz com que o prompt pause e aguarde que uma tecla seja pressionada para continuar.
O comando “cd\” direciona para o diretório raiz, c: enquanto o “D:” abaixo, direciona para a outra unidade lógica (no caso d:), este script foi desenvolvido para apagar o backup anterior com o comando ” rd /s /q backup”, o comando rd apaga diretórios, a opção /s é usada para remover diretórios e sub-diretórios encontrados, e a opção /q não pede confirmação antes de apagar o diretório, que logo em seguida um novo diretório backup é criado com o comando MD “backup”.
Logo á seguir, o prompt é direcionado para a unidade c:, e em seguida é aberto o diretório que contem informações dos usuários do Windows XP (Documentos e configurações)
O comando “XCOPY” é usado para copiar uma árvore de diretórios e todos os arquivos nele encontrados, o “*.*” indica que todos os arquivos devem ser copiados, independente do tipo,a opção /s copia pastas e subpastas exceto as vazias, e a opção “/q” não exibe nomes ao copiar, como se ficasse um “modo silencioso”.
Simples?
Agora basta clicar sobre o arquivo que o backup será criado automaticamente.

Voce ainda pode automatizar este processo, que pode ser agendado para quando desligar o computador, assim, nem precisa se preocupar em clicar no arquivo, basta desligar o computador:
Obs: Se você optar por automatizar, remova as linhas com "pause" do script e salve novamente.
Para automatizar este processo, crie o arquivo sem o comando “pause”, em seguida clique em INICIAR > EXECUTAR e digite “gpedit.msc” (disponível nos Windows XP professional)
Ao abrir a janela de diretivas de grupo, clique nos ítens: DIRETIVA DO COMPUTADOR LOCAL > CONFIGURAÇÃO DO COMPUTADOR > CONFIGURAÇÕES DO WINDOWS > SCRIPTS (INICIALIZAÇÃO/ENCERRAMENTO).
Em seguida clique no ítem que aparecerá no lado direto com o nome “desligar”, ao clicar no ítem, clique no botão “adicionar” e depois em “procurar”, localize o script no diretório oinde voce salvou.
Agora todas as vezes que o computador for desligado o script vai criar o backup, assim, as chances de perder seus arquivos ficam minimizados.
Para maiores detalhes, ou para conhecer mais sobre o MS-DOS, digite no prompt:
set /? ………Para conhecer outras variáveis
rd /?………..Para conhecer outras opções do comando RD
xcopy /?…..Para conhecer mais sobre o comando XCOPY

Conheça mais sobre scripts do MS-DOS clicando aqui

Escrito por André Silvertone

24 comentários:

  1. Ola! Andre o script automático que eu uso realizei um teste mas não recuperou os dados o que faço (Diakutumene)

    ResponderExcluir
    Respostas
    1. Verifique de o caminho está correto:
      por exemplo:
      Se for Windows Vista ou 7, a linha "cd documents and settings" deve ser substituída por
      "cd users"

      algo está errado no caminho.

      Excluir
  2. Verifique se o caminho para o backup está correto, e no modelo do artigo, este script foi preparado para rodar em Windows XP, se for Windows Seven, substitua a linha:
    cd documents and settings
    por
    cd users

    OK? espero ter ajudado
    Obrigado Diakutumene (diretamente da Angola para meu blog, que orgulho!)
    Muito sucesso na informática aí! e precisando do Prof. Silvertone é só avisar!

    ResponderExcluir
  3. Amigo, como ficaria o Script para manter todos os backups? pois gostaria de ter backup de um banco de dados GDB onde o mesmo nao substituisse o anterior pelo mais recente, tipo Backup segunda, terça, quarta, e assim por diante, e especificamente um aquivo de uma pasta com vários arquivos. Obrigado

    ResponderExcluir
    Respostas
    1. Olá Lester, vc pode especificar a pasta na linha:
      "cd documents and settings"
      Substituindo pelo caminho da pasta que deseja exemplo:
      "cd inetpup\ftproot "
      ou
      "cd windows\system32'

      Porém este script apaga o backup anterior, mas vc pode usar um software chamado "Cobian Backup", você configura a opção "use time stamp" e ele cria um diretório de backup pra cada dia.

      Excluir
  4. Amigo, como ficaria o Script para manter todos os backups? pois gostaria de ter backup de um banco de dados GDB onde o mesmo nao substituisse o anterior pelo mais recente, tipo Backup segunda, terça, quarta, e assim por diante, e especificamente um aquivo de uma pasta com vários arquivos. Obrigado

    ResponderExcluir
    Respostas
    1. retire a linha "rd /s /q backup"

      Excluir
    2. mas arquivos que forem modificados serão substituídos OK?

      Excluir
  5. Professor boa tarde,
    Fiz um script para copiar arquivos do c:\Backup para um servidor que tenho na rede, e viculei este script ao desligamento do windows no Local Computer Policy - Computer Configuration - Windows Settings - Scripts (Startup/Shutdown). Porém o conteudo não é copiado pois acredito que o windows corte o mapeamento de rede antes da execução do script. Como devo proceder para que faça o backup antes na rede e depois desligue o computador?

    Muito Obrigado

    Tiago


    Quando executo esse script direcionando o conteudo para uma pasta

    ResponderExcluir
  6. Professor boa tarde,
    Tenho um script que copia alguns arquivos do C:\Backup para um servidor em minha rede (\\Serv01\informatica) e coloquei este procedimento no DIRETIVA DO COMPUTADOR LOCAL > CONFIGURAÇÃO DO COMPUTADOR > CONFIGURAÇÕES DO WINDOWS > SCRIPTS (INICIALIZAÇÃO/ENCERRAMENTO).Porém o backup não é feito, pois acredito que o windows desligue a rede antes efetuar tal procedimento. Localmente o script funciona perfeitamente.
    Tem alguma idéia de como devo proceder?

    att

    Tiago

    ResponderExcluir
    Respostas
    1. Funciona localmente numa boa, recomendo, você mapear a unidade de rede (tipo z:) e direciuonar o backup para z:\backup, tenta e me fala

      Excluir
    2. Olá Professor,
      Obrigado pela resposta. Nem mapeando funciona. Acredito que antes de executar o script ele desligue os mapeamentos de rede, tinha que tentar alguma maneira de fazer antes de desligar tudo.

      obrigado.

      Tiago

      Excluir
    3. Vc pode deixar na área de trabalho e clicar quando quiser, ou ainda, tem um programa que eu uso muito chamado "cobian backup" você pode configurar data e hora pro backup, configurar para fazer diariamente ou semanalmente. uso bastante e é free!

      Excluir
  7. Boa tarde Silvertone !!!

    Quero criar um arquivo .bat que pegue os arquivos da rede ( I: ) e salve no HD externo (B:) diariamente.

    Conseguiria me ajudar ?

    ResponderExcluir
    Respostas
    1. Olá, é possivel sim.
      è so fazer o script igual está na postagem acima, mudando as letras de unidade, no seu caso I: e B:.

      Para automatizar diariamente, usa o agendador de tarefas do Windows.
      Digite "compmgmt.msc" no executar em seguida > agendador de tarefas
      Configure o horário que vc deseja fazer o backup e pronto

      Excluir
  8. Como faço para pegar:
    Dia
    Mes
    Ano
    Dia da Semana

    ResponderExcluir
    Respostas
    1. bom, não sei se entendi bem sua pergunta, mas vc pode usar variáveis.
      %time% = mostra hora atual
      %date% = mostra data atual

      Excluir
    2. bom, no final do script você poderia adicionar estas linhas:
      cd /
      cd C:\Users\suporte\Desktop
      erase /f /q log
      copy NUL log
      cd C:\Users\suporte\Desktop
      echo data do ultimo backup %date% >> log
      echo hora do ultimo backup %time% >> log

      este trecho do script criará na área de trabalho, um log contendo a data e hora do ultimo backup realizado.
      caso prefira que este log seja criado em outro diretório, mude as linhas
      "cd C:\Users\suporte\Desktop" para o diretório desejado.


      Excluir
  9. Boa tarde, em primeiro lugar quero agradecer por tirar nossas dúvidas e gostaria de perguntar como faço para adicionar um evento pós backup no cobian para ele executar o WinScp, para que o WinScp faça a transferência dos arquivos. Uso Cobian 11 e WinScp Beta. Obrigada.

    ResponderExcluir
    Respostas
    1. vc pode inicia-lo automaticamente usando o agendador de tarefas do Windows.. é a forma mais facil.

      Excluir
  10. Bom dia!

    Seguinte professor gostaria que o meu script fizesse exatamente isso pegue de um hd externo e jogue na pasta local do google drive como está no codigo abaixo


    @echo off
    echo script iniciado em %date% as %time%
    echo este script gera um backup automatico de seus arquivos
    pause
    cd\
    E:


    c:
    cd users
    E:\BKP_\*.* /s /q C:\Users\NFE\Google Drive\BKP
    echo backup concluido com sucesso
    pause

    porém ele me retorna que "o sistema não pode encontrar o caminho especificado".

    Como o senhor pode me ajudar

    ResponderExcluir
  11. bom dia gostaria que alem de fazer o backup também cria se um arquivo txt com a hora e o dia e que toda vez o script rode e acrescente no txt os dia e as horas obrigado.

    ResponderExcluir
    Respostas
    1. Ja existe amigo... aqui está
      http://professorsilvertone.blogspot.com.br/2014/11/script-backup-autmatico-versao-nova.html

      Excluir
  12. bom dia,
    primeiramente parabéns por nos ajudar professor.

    gostaria de roda um script, para que no final do expediente o próprio usuário rodasse ele e tudo que ele deixo na sua área de trabalho jogasse para uma pasta especifica do usuário no servidor. A possibilidade ?

    obrigado

    ResponderExcluir

Obrigado por comentar, será publicado em breve!

Siga meu blog por email!! Digite seu email abaixo.

google-site-verification: google53a8eb0bc7dc474a.html