Script de backup usando o WinRAR 16/12/2008
Posted by Alexander Santos in Dicas, Windows XP.trackback
Se você tem arquivos importantes e precisa salvá-los constantemente e tem que fazer isso manualmente, dá trabalho e ocupa seu tempo. O trabalho de selecionar arquivo por arquivo ou pasta por pasta dá um trabalhão, e ainda te prende na frente do computador até que o backup seja concluído. Para evitar esse trabalho, crie um script de backup, execute-o e faça outra coisa ao mesmo tempo! O script que eu falo usa dois programas, o primeiro que vem junto com o Windows XP conhecido como Notepad, o segundo, o WinRar um dos compactadores mais usados e um dos melhores. Pois é, você vai fazer backup e compactar os arquivos ao mesmo tempo com apenas um comando!
Apesar de dar trabalho fazer os scripts vale à pena porque você só vai fazer uma vez e utilizar sempre, e se quiser editar o script fique a vontade!
A primeira coisa que devemos fazer é verificar se o WinRar está instalado e funcionando corretamente. Clique aqui para baixar o Winrar.
Com tudo funcionando, temos que criar uma Variável de ambiente para o WinRar. Para fazer isso, clique no menu Iniciar e com o botão direito do mouse clique em cima de Meu computador e selecione Propriedades (tecla de atalho: win + Pause Break). Acesse a aba Avançado e clique no botão Variáveis de ambiente. Uma nova janela será aberta, mas atenção! Clique no botão Nova de Variáveis de usuário para Seu_usuário. Uma janela com dois campos para preenchimento será aberta. Em Nome da variável: digite path e em Valor da variável: digite o caminho onde você instalou o WinRar, por exemplo, C:\Arquirvos de programas\WinRar, clique em OK até concluir.
Com a variável de ambiente criada, você pode executar o script que você criar em qualquer lugar do seu computador, ou seja, se o script estiver no Desktop, Meus documentos e etc. você pode executá-lo sem se preocupar em abrir o WinRar ou fazer qualquer coisa, basta executar o script e pronto.
Antes de criar um script, vamos a sintaxe comum da linha de comando do WinRar:
rar <comando1> -<adicionalN> <arquivo> <arquivos…> <@lista_de_arquivos…> <caminho_da_extração\>
- <Adicional>, <N> = comando(s) adicional, utilizado para definir um tipo especifico de operação.
- <arquivo>, <arquivos…> = nome(s) do(s) arquivo(s) a processar
- <@lista_de_arquivos…> = nome de um arquivo contendo os nomes dos arquivos a processar. EX: criar um script backup.lst contendo as seguintes informações:
- C:\arquivo\doc\*.txt //backup de documentos de texto
- C:\arquivo\imagem\*.bmp //backup de imagens
Então execute: @backup.lst.
Complicado? Dê uma olhada no menu ajuda do WinRar para conhecer os comandos, mas não se preocupe, eu vou dar um exemplo de script com comentários para facilitar o entendimento:
rar a “D:\Backup\Tecnologia.rar” “D:\Group\Tecnologia”
Como a sintaxe do WinRar é rar <comando>… Nesse script temos:
- a = comando que adiciona um arquivo;
- “ = inicia e finaliza o caminho onde o arquivo se encontra ou será salvo.
No script devemos informar onde será salvo o arquivo comprimido e qual arquivo será salvo.
O script acima fará o backup do arquivo/pasta que está no disco D:\ dentro da pasta Group com nome Tecnologia, ou seja, o arquivo/pasta Tecnologia será comprimido e salvo. Como informado, temos que informar onde salvar o arquivo comprimido, isso é feito no primeiro comando: “D:\Backup\Tecnologia.rar”.
Se você percebeu, no script, primeiro nós informamos onde será salvo o(s) arquivo(s): “D:\Backup\Tecnologia.rar” para depois informar qual arquivo será feito o backup: “D:\Group\Tecnologia”, utilizando o comando a.
Para facilitar o entendimento: “D:\Group\Tecnologia” (Origem do arquivo) “D:\Backup\Tecnologia.rar” (Destino do arquivo comprimido).
Aprendemos a usar o comando a, mas ainda não usamos nenhum comando adicional, então, vamos a outro exemplo:
rar a -x “D:\Group\Tecnologia\Instalacao” “D:\Backup\Tecnologia.rar” “D:\Group\Tecnologia”
Neste script temos o comando adicional x que é usado para extrair arquivos ou pastas com caminhos completos. O comando adicional está atrelado ao caminho logo após ele, no nosso caso: -x “D:\Group\Tecnologia\Instalacao”. Esse comando adicional irá extrair a pasta ou arquivo chamado Instalacao que está dentro da pasta Tecnologia, não fazendo backup do mesmo, mas deixando intacta(o) a pasta ou arquivo original, ou seja, quando fizermos o backup da pasta Tecnologia e salvarmos em um arquivo comprimido no destino (“D:\Backup\Tecnologia.rar”) a pasta ou arquivo Instalacao não será salva(o). Isso é útil quando você não quer fazer backup de arquivos desnecessários.
Entendido como funciona a sintaxe do WinRar, crie seu próprio script: abra o Notepad (bloco de notas) crie as linhas do script e salve o script com um nome qualquer .bat, por exemplo, backup.bat. Para executar o script basta dar um duplo clique.
Use os vários comandos e sub-comandos do WinRar para tornar seu script uma poderosa ferramenta de backup, obtenha informações dos comandos no próprio WinRar em Ajuda do WinRar que está dentro da pasta onde o WinRar foi instalado (algumas versões vêm com o nome WinRar, mas com uma interrogação como ícone).
Dica: algumas vezes a variável de ambiente não funciona com alguns scripts, então, coloque o script e o executável Rar dentro de uma mesma pasta e execute o script, encontre o executável Rar dentro da pasta onde o WinRar foi instalado.
Muito massa essa dica !!!
Cara! tu salvou minha vida, ou pelo menos boa parte dela na qual eu ficaria horas zipando arquivos.
Vlw!
Grande abraço
Amigo tenho um server 2008 e não consigo fazer backup utilizando o winrar, sabe como fazer funcionar no server 2008?
Você verificou a compatibilidade da versão do WinRar que você está usando com o Server 2008? Tem que ser compatível.
Muito boa sua dica …. se não fose muito encomando teria como você posta um script já pronto fazendo backup dos seus arquivos importantes para outro hd e fazendo copia extra desses arquivos para outra maquina na rede ….
DESDE JÁ ABRADEÇO E MUITO OBRIGADO ….
Respondi por e-mail junto ao Afrânio.
Obrigado, grande dica.
Oi tudo bem?
eu desenvolvo sistemas informaticos em DBase Plus e que faltava era a parte de segurança, e tu resolveste esse problema. tentei muito mais a parte de variaveis de sistema é que veio dar o lance essencial.
Tanx
precisao fazer esse tipo de backup no outlook e direcionar para uma pasta que esta mapeada em rede , sao backup de ate 4gb , e o mesmo procedimento
Sergio, é a mesma coisa, mas eu recomendo que você faça backup de cada pasta do Outlook separadas porque arquivos maiores que 2GB geralmente dão erro quando tentamos restaurá-los. O Outlook 2007 suporta arquivos maiores que 2GB, mas versões anteriores à essa não suportam, a não ser que você instale um pacote de compatibilidade que divide os arquivos quando eles chegam aos 2GB. Divida os arquivos de backup e faça o backup do jeito que eu mostrei aqui no blog. Grande abraço.
Boa Noite Alexander Santos.
Dica perfeita, mais não funcionou aqui. Tentei no XP sp3, Server2003, e Seven 32b. Eu executo o bat mais não inicia a compactação com o Winrar. Estou usando o Winrar 3.5 e 3.90.
Poderia me ajudar?
Obrigado.
Grande, tira um “Print” da tela de tudo que você está fazendo e manda para o meu email de contato: rede066@gmail.com
Boa Noite Alexander.
Primeiramente muito obrigado pela atenção.
e-mail enviado.
Forte abraço.
Estava precisando disso para um script!
Valeu 😀
Tenho uma pasta com varias pastas dentro, preciso que ao compactar cada arquivo seja mantido na pasta, e em cada pasta seja colocado uma senha
Walmir, ao criar o script, o WinRar irá compactar todas as pastas que você incluir para realizar o backup, inclusive as subpastas, e o arquivo compactado irá manter a hierarquia das pastas exatamente como a hierarquia original (pastas e subpastas), então, você não precisa se preocupar em realizar nada além do script, mas se houver algum arquivo ou pasta que você não quer realizar o backup, utilize o sub-comando -X.
Desculpe a demora para responder, mas por motivos pessoais fiquei um tempo afastado da net, a minha duvida é a seguinte, tenho várias pastas que ao criptografar serão armazenadas em uma pasta somente (compactação com senha), a senha esta ficando no fim da hierarquia, e n verdade preciso que a senha fique no topo, ou seja na 1ª pasta, não nas sub pastas.
Alexandre, agradeço a sua atenção, e se novamente puder me ajudar agradeceria muito.
Ola, eu usava o alzip para compactar por comando, mas agora vou usar winrar, é mais demorado mais compacta melhor, Obrigado
Oi, este script faz o backup só de uma pasta ou de vários diretórios?
Ele faz backup da pasta, subpastas e arquivos que você indicar no caminho.
Por gentileza, poderia me passar os passos para criar um script que me permita deixar um backup com horário programado a ser realizado sem a necessidade de alguém executá-lo todos os dias? Desde já agradeço.
Você deve criar o Script e criar uma Tarefa Agendada do próprio Windows e manda executar o arquivo do Script nos dias e hora que desejar.
Ola,
Estou com uma dificuldade.
Utilizo esse processo de backup agendado pelo Windows.
Só que agora estava testando fazer backup de uma lista @list.lst.
Se eu executar o BKP.bat, faz o backup normalmente pegando o conteúdo que está descrito no arquivo list.lst, mas agendando no Windows para executar o BKP.bat, vem uma mensagem do WinRAR dizendo que não reconhece o arquivo list.lst.
Você criou a variável de ambiente?
Para não dar o erro “o comando rar não é reconhecido como um comando interno” ao executar o Script, adicione a variável de ambiente na variáveis de sistemas ao invés de ser na variáveis de usuário.
Não consegui fazer, da erro, tem como criar com a extensão .zip?
Nunca testei nesse formato, mas o WinRar é compatível com o .zip.
haveria possibilidade de me mandar um script para usar em rede? quero fazer um backup dos arquivos que estão em rede em um hd externo. não consegui realizar o processo descrito no tutorial.
Fabio, qual erro esta aparecendo?
Fiz esse script para fazer copia de arquivo .pdf, compactar a pasta de origem é gerar um .txt com o log de eventos.
@echo Copia dos aquivos da pasta “C:\NFe2g\Danfe\Ano13Mes07 para pasta “\\192.168.0.10\c$\danfe\Ano13Mes07 em %date%. >>C:\Log_copy_danfes\Log_copia.txt
@echo – Início ás %time%.>>C:\Log_copy_danfes\Log_copia.txt
@echo off
xcopy C:\NFe2g\Danfe\Ano13Mes07\*.pdf* \\192.168.0.10\c$\danfe\Ano13Mes07\ /d /f /y
rar u -ilogC:\Log_copy_danfes\Log_compactacao.txt -r “\\192.168.0.1\nfe\NFe2g.rar” “C:\NFe2g”
@echo – Fim ás %time%.>>C:\Log_copy_danfes\Log_copia.txt
pause
@echo ==========================================================================================================================>>C:\Log_copy_danfes\Log_copia.txt
@pause
Ire melhorar o script, o mesmo não esta comentando caso tenha dúvida informar.
quero copiar do meu servidor para meu computador, tentei montar o script como a seguir, mas da erro, diz que não pode criar a origem especificada
@echo Copia dos aquivos da pasta “\\scmadb\geral$ para pasta “d: em %date%. >>C:\Log_backup.txt
@echo – Início ás %time%.>>C:\Log_copy_backup\Log_backup.txt
@echo off
xcopy \\scmadb\geral$\ d:\ /d /f /y
rar u -ilogC:\Log_backup.txt -r “\\scmadb\geral$” “d:”
@echo – Fim ás %time%.>>C:\Log_backup.txt
pause
@echo ==========================================================================================================================>>C:\Log_copy_backup\Log_backup.txt
@pause
tentei também este com a unidade de rede adicionada no meu coputador
@echo Copia dos aquivos da pasta “z: para pasta “d: em %date%. >>C:\Log_backup.txt
@echo – Início ás %time%.>>C:\Log_copy_backup\Log_backup.txt
@echo off
xcopy z: d:\ /d /f /y
rar u -ilogC:\Log_backup.txt -r “z:” “d:”
@echo – Fim ás %time%.>>C:\Log_backup.txt
pause
@echo ==========================================================================================================================>>C:\Log_copy_backup\Log_backup.txt
@pause
esse compartilhamento \\scmadb\geral$ dentro tem outras pastas de cada departamento do meu trabalho. quero compacta-las em um único backup.
O caminho \\scmadb você esta acessando direto seu informar usuário e senha, da máquina que vai rodar esse script tenta acessar o caminho direto, pois é isso que o script vai fazer.
SIM, QUANDO EXECUTO \\SCMADB\GERAL$ ELE ACESSA A PASTA
Limpa esse script meu é faz um simples para você ir eliminando erros, cria um que somente acessa a pasta, e vai implementando…
Pois o script não esta conseguindo criar algo, tira o relatório .txt
Ah e sem *gritar* fazendo favor.
desculpa não percebi que escrevi em caixa alta, é que estou documentando um relatório e no impulso escrevi.
Ótimo post Rodrigo, porém não compreendi muito bem como funciona o arquivo.lst, Onde salva-lo e como fazer a sua chamada no script
Desde já muito obrigado!
Rodrigo, não precisa se preocupar pois já compreendi o aquivo.lst.
Já fiz vario teste e todos rodaram perfeitamente….
mais uma vez Obrigado por compartilhar este post
ATT
Douglas Figueiredo
Muito boa a dica…. Mas preciso que ele faça esse procedimento com o ultimo arquivo o que devo acrescentrar???
Não entendi tua pergunta, podes explicar melhor?
Como faço um script para compactar vários arquivos , mas cada arquivo deve permanecer com seu nome , exemplo tenho 50 arquivos e vou ter 50 arquivos compactados, não quero compactar tudo dentro de um único arquivo.
Como faço para criar script de backup diferencial no winrar
Bom dia. Tenho um arquivo bat que criar um arquivo de backup automático e compactado já. Seria possível que esses arquivos fossem sempre criados com senha padrão já ?
Obrigado!
Muito TOP, parabéns!
Boa noite,
Ao executar esse comando via .bat ele copia somente os arquivos, não copia as pastas e subpastas, estou fazendo algo errado?
“C:\Program Files (x86)\WinRAR\WinRAR.exe” a “C:\Users\Administrator\Documents\ZIP_BKP\teste.rar” “C:\Users\Administrator\Documents\BKP_PROTHEUS\PROTHEUS\PROTHEUS\protheus_data\”
Wellington, boa noite. Perdoe-me pela demora em responder, mas estou viajando em excesso e com vários projetos! Bem, pelo que vi, você precisa ajustar o script para algo assim: rar a “C:\Users\Administrator\Documents\ZIP_BKP\teste.rar” “C:\Users\Administrator\Documents\BKP_PROTHEUS\PROTHEUS\PROTHEUS\protheus_data”
Onde o primeiro caminho é onde você irá salvar os arquivos dentro de um arquivo teste.rar.
No final do caminho da origem do arquivo, você finalizou com uma \ e isso vai dar erro, pois você precisa nomear o que será utilizado para backup. Desejo ter ajudado, mesmo com toda essa demora!