Ajuda! Comando para passar último backup completo para disco externo
|
27-05-2012, 02:16
Mensagem: #1
|
|||
|
|||
Ajuda! Comando para passar último backup completo para disco externo
Boas Tardes a todos.
Será que alguém me poderia ajudar a criar um script para passar a cópia dos últimos backups completos que tenho numa pasta de rede para um disco externo? No meu caso, semanalmente agendei um backup completo da pasta informatica e da pasta comercial, para uma pasta "backup_geral" do NAS e cujo resultado final é um ficheiro com o nome da tarefa e a data em que foi criado, por exemplo bck_comercial_20120520(completo).zip e outro bck_informatica_20120520(completo).zip A minha questão é que num mês existem 4 backups completos do mesmo destino, mas com datas de modificação diferentes... e eu só quero passar para o disco externo, o backup completo mais recente. A solução imediata que arranjei foi com o xcopy: xcopy \\Nas\backup_geral\*completo*.zip I:\ /D:05-20-12 copiar todos os ficheiros cujo extensão seja .zip e no nome tenha a palavra "completo" e cuja data seja igual ou posterior a 20-05-12. Mas, a minha questão é que quero um comando que identifique automáticamente o último backup completo feito, sem que seja preciso, todo o mês, especificar o intervalo a procurar. Será que alguém arranja solução? |
|||
28-05-2012, 18:03
Mensagem: #2
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
Ninguém aqui vai muito "à bola" com programação... estou mesmo a vêr
Pois bem. Vou mesmo ter que me valer dos meus comandos em Dos. Será que me expressei mal, e não percebem o que quero fazer? Ou têm todos a mesma questão que eu tenho? |
|||
28-05-2012, 19:20
(Esta mensagem foi modificada pela última vez a: 28-05-2012 19:20 por progster.)
Mensagem: #3
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
Nem todos têm o mesmo nível de conhecimentos.
Uma das vantagens dos fóruns é que mais cedo ou mais tarde logo "aparece" alguém que te consegue desenrascar. Progster |
|||
28-05-2012, 20:45
Mensagem: #4
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
Hum!
Então fico à espera de quem me desenrasque |
|||
31-05-2012, 19:02
Mensagem: #5
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
(27-05-2012 02:16)trigoana Escreveu: No meu caso, semanalmente agendei um backup completo da pasta informatica e da pasta comercial Se agendaste semanalmente por nao agendas um mensal tambem? Podes tambem trocar a parte do mes e ano para dinamico ficando '/d:%mm%-20-%yy% Julgo que assim o mes e o ano ficam dinamicos. |
|||
02-06-2012, 18:43
(Esta mensagem foi modificada pela última vez a: 02-06-2012 18:45 por trigoana.)
Mensagem: #6
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
(31-05-2012 19:02)brunoantunes Escreveu: Se agendaste semanalmente por nao agendas um mensal tambem? Porque não se justifica... no meu caso todos os domingos são para backups totais, por isso no fim do mês há sempre um backup mensal (o último semanal) É esse último backup que quero passar para disco externo, todos os Meses. Eu uso o Cobian Backup para agendar os backup, já pensei em programar o cobian para fazer o backup para o Nas e ao mesmo tempo para o disco externo. Mas como quem fica encarregue de os passar para o disco externo pode não se lembrar de ligar o disco... isso podia dar raia. Por isso queria criar um executavél que qualquer pessoa que liga-se o disco externo podesse correr, porque o próprio comando iria procurar o último backup e guardar no disco. Alias bastava-me uma linha de código que me devolvesse a data de hoje menos 6 dias, assim eu garantia que ía sempre procurar o último backup existente. Pois só ao 7 dia é que é criado um novo backup. (31-05-2012 19:02)brunoantunes Escreveu: Podes tambem trocar a parte do mes e ano para dinamico ficando '/d:%mm%-20-%yy% Em Dos, ele não reconhece esse parâmetro, e tb não é bem isso... a funcionar este comando iria copiar todos os ficheiros completos que tenho independentemente do mês e ano... e eu só quero o último backup. Recapitulando com outro exemplo... FICHEIROS NO NAS: 1º backup completo - data 06/05/12 2º backup completo - data 13/05/12 3º backup completo - data 20/05/12 4º backup completo - data 27/05/12 Se eu hoje ligasse um disco externo ao Nas, só iria querer passar para este disco externo o último backup (4º backup), que data de 27/05/12. Estão a perceber o meu dilema? Eu não quero eliminar nada do Nas, quero só passar para disco externo o último backup, que sei ser o ficheiro com a data mais recente. Tá difícil, eu sei, a ideia parece simples feita à mão, mas criar um automatismo é que me está a levar a melhor... Mas mesmo assim, Obrigada BrunoAntunes, pela dica. |
|||
04-06-2012, 02:04
Mensagem: #7
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
Código: echo %DATE% este codigo devolve-te a data actual Código: set day=%date:~0,2% que tal desta forma: Código: set day=%date:~0,2% ou se quiseres algo mais directo Código: If %date:~0,2% > 20 then Parece-me que assim tens o que pretendes? |
|||
06-06-2012, 01:19
(Esta mensagem foi modificada pela última vez a: 06-06-2012 01:31 por trigoana.)
Mensagem: #8
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
Fantástico BrunoAntunes, é uma excelente dica
Acho que estamos a chegar lá. Se me explicares como subtraio ao %date% uns 7 dias... fica o assunto arrumado. Usei esta opção, estive a pesquisar como se formata a data para o modelo mm-dd-aa: xcopy \\Nas\backup_geral\*completo*.zip I:\ /D:%DATE:~3,2%-%DATE:~0,2%-%DATE:~8,4% Com esta opção copio todos os arquivos criados no próprio dia, mas se conseguir fazer algo como: Diahoje=%DATE% DataBK=Diahoje-7dias posso substituir a DATE pelo DATABK. Como é que se subtrai uma data? Acho que encontrei como adicionar ou subtrair dias aqui neste site: http://stackoverflow.com/questions/35542...-scripting Mas vou deixar para amanhã... já estou a vêr "demasiado código à frente"... lol |
|||
07-06-2012, 12:02
(Esta mensagem foi modificada pela última vez a: 07-06-2012 12:03 por brunoantunes.)
Mensagem: #9
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
Que confusao de código nesse site.
Basta adicionar '/A' para aritmética. Exemplo: Citar:set yy=%date:~6,2% |
|||
07-06-2012, 15:11
Mensagem: #10
|
|||
|
|||
RE: Ajuda! Comando para passar último backup completo para disco externo
Olá!
Para datas acho que ele não entende essa aritmética. Para o dia de hoje, com o código que colocaste devolve-me a data 0/06/20 (07-06-2012 12:02)brunoantunes Escreveu: Que confusao de código nesse site. |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 1 Visitante(s)