AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Datenbank Backup

Ein Thema von user0815 · begonnen am 5. Jul 2013 · letzter Beitrag vom 5. Jul 2013
Antwort Antwort
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#1

Firebird Datenbank Backup

  Alt 5. Jul 2013, 10:52
Datenbank: firebird • Version: 2.5 • Zugriff über: none
Hallo,
ich habe ein kleines Tool geschrieben das eine Firebird Datenbank zu einem bestimmten Zeitpunkt per Backup sichert.
Die Sicherung kann jeden Wochentag Mo..Fr oder jeden Tag im Monat 1..31 erfolgen. Der Dateiname hat dann z.B. entsprechend die Endung: _Fr

Meine Frage: Ist die Sicherung über die procedure BackupData und den dortigen Aufruf der ShellExecute - gbak.exe so in Ordnung oder sollte ich was beachten, es generell anders machen?

Ich habe das ganze als Setup beigefügt. In der Setup werden auch die Firebird dll´s, usw... entsprechend ins Verzeichnis kopiert. Quellcode ist auch in der Anlage sowie 2 Screenshots: 1x Programm, 1x EXE Verzeichnis

Delphi-Quellcode:
procedure TFormMain.BackupData;
var
  Quelle, Ziel, Dateiname : String;
  Parameter : String;
  Ergebnis : String;
  OK : Boolean;
  BackupResult : Integer;
begin
  OK := TimerBackup.Enabled;
  TimerBackup.Enabled := False;

  if RadioButtonWeekday.Checked
   then Dateiname := TargetDir + 'BackupFile_' + ShortDayNames[DayOfWeek(Date)]
    else Dateiname := TargetDir + 'BackupFile_' + IntToStr(DayOfTheMonth(Date));

  Quelle := '"' + SourceFile + '"';
  Ziel := '"' + Dateiname + '"';

  Parameter := '-v -t -user sysdba -password masterkey '+ Quelle +' '+ Ziel;

  if CheckBoxShowDosWindow.Checked
   then BackupResult := ShellExecute(0,nil,PChar(ExtractFilePath(ParamStr(0)) + 'gbak.exe'),PChar(Parameter),nil,SW_SHOW)
    else BackupResult := ShellExecute(0,nil,PChar(ExtractFilePath(ParamStr(0)) + 'gbak.exe'),PChar(Parameter),nil,SW_HIDE);

  if BackupResult <= 32
   then Ergebnis := 'Fail'
    else Ergebnis := 'OK';

  MemoLog.Lines.Insert(0, FormatDateTime(FormatSettings.ShortDateFormat + ' ' + FormatSettings.LongTimeFormat, now)
                        + ' # ' + Ergebnis
                        + ' -> ' + Dateiname);

  while MemoLog.Lines.Count > 100 do
    MemoLog.Lines.Delete(100);

  MemoLog.Lines.SaveToFile(ProgramDirectory + 'log.dat');

  TimerBackup.Enabled := OK;
end;
Miniaturansicht angehängter Grafiken
fbbackupprogram.png   programdir.png  
Angehängte Dateien
Dateityp: zip FirebirdBackupSetup.zip (3,13 MB, 16x aufgerufen)
Dateityp: zip Source Code.zip (10,3 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Firebird Datenbank Backup

  Alt 5. Jul 2013, 11:14
Hi,

was mich spontan stört ist das fest vorgegebene Passwort.

Außer: eine Datensicherung ist erst dann eine Datensicherung, wenn Du diese auch wieder herstellen kannst. d.h. auch für die Fehlerfrüherkennung wäre es nicht verkehrt, die Sicherung nach dem Erstellen in einer temporären Datei wieder herzustellen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz