Olá pessoal…
Hoje vou mostrar como fazer um backup incremental pelo Prompt de Comando, utilizando o RoboCopy.
Primeiramente gostaria de agradecer o Marcio Ortolan pela ajuda.
O robocopy é um comando no MS-DOS que serve para copiar arquivos de uma origem para um destino, o mais interessante é que é possível copiar apenas arquivos que tiveram alguma alteração, ou seja, um backup incremental de maneira fácil (além de ser rápido).
Abaixo o comando de exemplo.
robocopy [origem] [destino] /s /e /nfl /ndl /ns /nc /njh /njs /r:0 /w:0
E abaixo um exemplo prático de como utilizar.
robocopy E:\TOTVS\Protheus_Data F:\Backups\Protheus_Data /s /e /nfl /ndl /ns /nc /njh /njs /r:0 /w:0
Referência:
– TechNet Microsoft
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Caraca Dani, que top!
Isso vai facilitar demais meus backups com HD externo.
E assim, sabe me dizer se tem aquele problema de quando o hd esta cheio, porem você vai substituir um arquivo existente e ele não deixa?
De resto, show de bola, valeu!
Fala Zé, tudo bem?
Rapaz, não sei te dizer, não cheguei a realizar esse teste, mas acho que o comando vai se comportar similar a cópia padrão do Windows mesmo.
Abraços.
José Claus, ele vai substituir o arquivo ou seja apagar o antigo e colocar o novo no lugar. se o novo arquivo for muito grande nao vai conseguir realizar a tarefe e vai retornar um codigo de erro na tela informando. claro que se o processo for automatizado vc nao vai saber o que aconteceu.
a não ser que voce salve em outro local um arquivo com esta saida.
isto pode ser feito com o comando no final >> destino.log e se vc estudar mais um pouco vc consegue pegar este resultado e enviar por e-mail automaticamente. pronto seu trabalho agora eh so ler o e-mail. em duvidas jardimjapao@gmail.com
Localizei um erro neste bkp incremental. modifiquei propositalmente um arquivo do destino fazendo que ele ficasse com a data mais nova. apos processamento o arquivo de origem substituiu o destino mesmo que o destino seria mais novo.
meu objetivo era realizar um multi incremento para realização de sincronismo.
não fiquem triste com minha descoberta. continuem utilizando como incremental mas fiquem atentos com a descoberta
Boa noite Benjamin.
Que interessante.
Obrigado pela contribuição.
Um grande abraço.
boa tarde
Dan Atilio ,preciso se possível de uma ajuda no comando robocopy ,tenho um diretório em um PC o D: e fazer uma cópia de seus arquivos em um terminal na rede.
Se puder ajudar,chegou ate a copiar uma pasta mas sem o conteúdo.
Bom dia Nei, tudo bem?
Eu cheguei a fazer o contrário, copiar de uma máquina da rede para um HD externo, mas suponho que seja só alterar a ordem das pastas, veja no exemplo abaixo.
Espero ter ajudado.
Abraços.
Bom dia!
Desculpa reviver o tópico espero que alguém consiga me ajudar, eu preciso fazer um processo com algo mais complicado, bom eu não consegui fazer.
Eu ja uso o Robocopy ha um tempo mas tive que mudar a forma de fazer meus backcups por falta de espaço e por esta levando muito tempo.
Meu problema e “PRECISO FASER A COPIA INCREMENTAL MAS TENHO QUE COLAR OS ARQUIVOS EM UMA NOVA PASTA”
EX: Hoje ele e feito na forma tradicional como explicado no tópico, o robocopy verifica a pasta de destino se o arquivo foi alterado ele copia ou se foi criado novos arquivos na pasta de origem ele copia.
A partir desse processo preciso que o robocopy envie esses arquivos para uma nova pasta em outro diretório.
Boa noite Wesley, tudo bem?
Mas a cópia incremental é em uma única pasta, você quer criar várias pastas? Poderia exemplificar a estrutura de pastas que você tem hoje?
Um grande abraço.
Bom dia!
o código que uso e esse.
robocopy “D:\Diretorio” “E:\Backup” /MIR /SEC /MT:10 /Z /R:2 /W:2 /V /NP /LOG:”E:\Backup\log.txt”
Faço um espelho do diretório de arquivos do meu servidor para um HD Externo.
O que preciso fazer alem desse processo!
um segundo script em que ele cria uma nova pasta EX: “DIA10-10-2018” e copie para essa nova pasta somente os arquivos modificados, criados, mudança de pastas etc. e mantenha a pasta Espelho do HD Externo com o ultimo backup que eu definir.
O intuito disso e criar um incremental diário com somente os arquivos novos e modificados do dia.
Olá Wesley, tudo bem?
Então, você precisaria armazenar a data em uma variável, e apontar para uma pasta com essa data, por exemplo:
Espero ter ajudado.
Um grande abraço.
Bom dia Dan
Gostaria de confirmar se o backup incremental funcional também com vários níveis de pastas, ou seja, dentro de uma pasta tenho vários níveis de outras pastas, as vezes chega a ter 5 níveis de profundidade. Será que ao backupiar incrementalmente o robocopy mantém esse nível e faz as conferências? importante lembrar que o destino tem a mesma estrutura de pastas que a origem.
Boa tarde Sereno. Sim, o comando xcopy faz isso, por exemplo:
Origem:
C:\Pasta1
C:\Pasta1\PastaA
C:\Pasta1\PastaB
C:\Pasta1\PastaC
Destino:
D:\Bkp\Pasta1
D:\Bkp\Pasta1\PastaA
D:\Bkp\Pasta1\PastaB
D:\Bkp\Pasta1\PastaC
Um grande abraço.
Olá Benjamin, na verdade não é necessário alterar nada no destino, pois o destino é o bakcup, ou seja, cópia fiel da origem.
Neste caso vc deveria fazer um novo backup antes do primeiro rodar, ou seja, seria o backup do backup.
Abraço.
Bom dia, mesmo executando como administrador aparece “ERROR 5, Access is denied” e o nome do arquivo e para o backup. O que poderia ser e como consertar para continuar normalmente o backup completo?
Boa noite.
Nathalya, tem uma diferença em sistemas Windows, entre Executar como Administrador (clicar com o botão direito), e fazer login como Administrador e executar o procedimento (não com usuário com privilégio de Admin, mas com o próprio usuário “Administrator”).
Efetue um teste assim, e se mesmo assim continuar com access is denied, clique com o botão direito em cima da pasta/arquivo, e libere o privilégio para todos os usuários.
/s e /e se contradizem, não?
Bom dia.
Realmente se contradizem, depois vou verificar com a pessoa que enviou a dica citada no parágrafo 3, para atualizarmos o exemplo.
Obrigado pelo feedback.
Abraços.