Topic: [Скрипт] Автоматическое создание резервной копии базы данных
В папке "backup" создаются резервные копии базы данных вида backup_дата_время.db при входе в программу, каждые три часа и при выходе.
Проект с данным примером:
http://myvisualdatabase.com/forum/misc. … download=1
Скрипт:
var
Timer: TTimer;
iSeconds: integer;
procedure Form1_OnShow (Sender: string; Action: string);
begin
CopyFile('sqlite.db', 'backup/backup '+ FormatDateTime('dd-mm-yyyy hh-nn-ss', now)+'.db');
Timer := TTimer.Create (Form1);
Timer.Interval := 1000;
Timer.Enabled := True;
Timer.OnTimer := @OnTimer;
end;
procedure Form1_OnClose (Sender: string; Action: string);
begin
CopyFile('sqlite.db', 'backup/backup '+ FormatDateTime('dd-mm-yyyy hh-nn-ss', now)+'.db');
Timer.Free;
end;
procedure OnTimer;
begin
iSeconds := iSeconds + 1;
if iSeconds > 10800 then // backup every 3 hours (10800 seconds)
begin
iSeconds := 0;
CopyFile('sqlite.db', 'backup/backup '+ FormatDateTime('dd-mm-yyyy hh-nn-ss', now)+'.db');
end;
end;
begin
end.