Buscar

Backup e restauração usando .bat e arj.exe

Código

Fazendo Backup e Restauração usando arquivos .BAT e .ARJ

Uma maneira fácil e bem eficiente de fazer Backup’s no Delphi é usar arquivos em lote do MS DOS (arquivos .BAT) e o ARJ.EXE (antigo compactador e descompactador do MS DOS da época do 386).

1) Passo: ARJ
- Precisaremos do ARJ.EXE um compactador bem leve (147 kb) e muito poderoso, você poderá fazer o download nesse Linke: http://www.uv.tietgen.dk/staff/mlha/Download/DOS/arj/arj.exe ;
- Coloque ARJ.EXE no diretório (não dentro do diretório do banco) onde fica localizado o diretório do banco de dados;

2) Passo: Backup
- Abra um documento do bloco de notas e edite:

cd
C:
cd Projeto // Diretório onde fica localizado o diretório do banco de dados
Backup de Dados
cls
arj -t a -I1 -vva -r a:Compacta.Arj{Comando para compactar na unidade A:}  Dados //Diretório do bando de dados
a: // Entra no diskete
echo Último Backup: > data_backup.txt
date /t >> data_backup.txt // Cria um documento com a data do último backup
time /t >> data_backup.txt // Cria um documento com a hora do último backup
echo ============================ >> data_backup.txt
exit
- Salve o documento como Backup de Dados.BAT e coloque-o no mesmo diretório do ARJ.EXE;

3) Passo; Restauração
- Abra um outro documento do bloco de notas e edite:

cd
C:
cd Projeto // Diretório onde fica localizado o diretório do banco de dados
Restauracao de Dados
cls
arj x -y -v a:Compacta.arj //Comando para descompactar
echo Última Restauração: > data_restauracao.txt
date /t >> data_ restauracao.txt // Cria um documento com a data da última Restauração
time /t >> data_ restauracao.txt // Cria um documento com a hora da última Restauração
echo ============================ >> data_ restauracao.txt
exit
- Salve o documento como Restauração de Dados.BAT e coloque-o no mesmo diretório do ARJ.EXE;

4) Passo: Delphi
- Abra um novo Formulário no Delphi com 02 bitbnt e coloque:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if messagedlg('Insira um diskete para iniciar cópia dos dados!', MTINFORMATION, [MBOK, MBCANCEL] , 0) = MROK then begin
winexec('C:Projetobackup de Dados.bat', SW_HIDE); //diretório do arquivo Backup de Dados.bat
end;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if messagedlg('Insira um diskete para iniciar a Restauração dos Dados!', MTINFORMATION, [MBOK, MBCANCEL] , 0) = MROK then begin
winexec('C:Projetorestauração de Dados.bat', SW_HIDE); //diretório do arquivo restauração de Dados.bat
end;

end.


OBS:
Nesse caso eu usei a unidade A: para fazer o Backup, mas nada impede de vc usar outras unidades como o própria unidade C: para esse  basta colocar o caminho completo de origem e destino. Quanto a unidade D: se vc tiver o Nero estalado basta formatar o CD com InCD  e ele será reconhecido.
        Você porem precisa tomar alguns cuidados, o ARJ não grava nomes de arquivos com mais de 8 caracteres. EX: Se um arquivo do seu banco de dados de nome CADASTRODECLIENTES for compactado pelo ARJ ele passara a se chamar  CADAST~1, portanto ao fazer a restauração do arquivo, ele voltara ao nome original, a menos que você “delete” o arquivo CADASTRODECLIENTES, se você deletalo e fazer a restauração o arquivo passara a ser chamado CADAST~1 o que emplicara na ora de carregar os dados e obrigando a renomear o seu arquivo de dado CADAST~1.
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 24/01/07
Por: Messias Galvão
Visualizada: 2916 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009