Alle Drei Tage Backup anlegen
-
Hi,
meine Anwendung soll alle drei Tage backups anlegen. Ich frage mich, wie ich dies am besten mache. Ein Timer halte ich nicht unbedingt für Sinnvoll und damit jede Sekunde testen ob die drei Tage wieder vorbei sind.
Wer hat eine bessere Idee für mich?
Darauf zu achten, dass die Anwendung dann permanent läuft!
Grüße Kim
-
Pack doch einfach ein Programm in dein Autostart-Verzeichnis, das prüft, wann es das letzte Mal gestartet wurde...
-
Hi,
und womit lösst du damit das Problem?
Die Anwendung läuft 24h am Tag, 7 Tage die Woche und 365 Tage im Jahr. Da wird nix mit Autostart gebraucht. Alle 3 Tage will ich halt um die Zeit 12 Uhr z.B. immer backups bestimmter Dateien anlegen.
Kim
-
Unter Windows gibts dafür den Taskplaner. Da kannste dein Programm dann alle 3 Tage aufrufen lassen, musst dich also um gar nix kümmern.
Unter XP: Systemsteuerung -> Geplante Tasks -> Neue Task hinzufügen.....
-
Die Anwendung läuft 24h am Tag, 7 Tage die Woche und 365 Tage im Jahr
In dem Fall würd ich nen eigenen Taskplaner/crontab integrieren. Die Sicherung der Daten dürfte nur der erste Schritt sein, der regelmäßig nötig wird. Bei so langen Laufzeiten kommt sicher noch was dazu. Ob Du das dann sekundengenau oder Minutengenau haben willst oder in einem anderen Zusammenhang ( per polling z.B.) prüfst kannst Du Dir ja aussuchen...
-
Kim Marks schrieb:
Ein Timer halte ich nicht unbedingt für Sinnvoll und damit jede Sekunde testen ob die drei Tage wieder vorbei sind.
Eine andere (programmtechnische) Möglichkeit gibt es nicht. Ob du nun jede Sekunde, Minute oder Stunde nachsiehst hängt halt davon ab, mit welcher Genauigkeit du leben kannst.
-
In meiner Anwendung habe ich einen Thread, der immer Now() mit einem für einen Job aus einer Jobliste eingestellten TDateTime-Wert vergleicht. Wenn die Zeit Now()>=Job->dtJobStartTime dann Job->Execute().
-
F98 schrieb:
In meiner Anwendung habe ich einen Thread, der immer Now() mit einem für einen Job aus einer Jobliste eingestellten TDateTime-Wert vergleicht. Wenn die Zeit Now()>=Job->dtJobStartTime dann Job->Execute().
Ist doch auch nicht anders als mit Timer? Nur, dass halt dauernd, statt einmal pro Sekunde/Minute/was auch immer geprüft wird...
-
Jo, wobei man aber noch die Priorität besser festlegen, und den Thread mit sleep(...) besser steueren kann.