Seite 1 von 1

Backup jeden Tag um die selbe Zeit

Verfasst: Sonntag 3. Januar 2021, 12:05
von Omm
Hallo zusammen

ich möchte, dass jeden Tag um die gleiche Zeit eine Datei "log.txt" kopiert wird. Also ein Backup der "log.txt" Datei.
Nachstehend habe ich so mit meinem Level was gemacht. Auch wenn es funktioniert, sieht es komisch aus.
'def backup_timer(self)' starte ich einfach mit dem MainGui.

Hat hier jemand einen besseren Ansatz wie ich dies sauber lösen könnte?

Code: Alles auswählen

    def backup_timer(self):
        self.backupzeit = QTime.fromString('11:46', "hh:mm")
        self.backup_erfolgreich = False
        self.timer_backup = QTimer()
        self.timer_backup.timeout.connect(self.backup_handle)
        self.timer_backup.start(5000)

    def backup_handle(self):
        now = QDateTime.currentDateTime().time()
        if now > self.backupzeit and now < self.backupzeit.addSecs(20):
            if not self.backup_erfolgreich:
                ziel = settings.getStrValue('BACKUP_PFAD')
                src = path.abspath(path.join(__file__, "../..", 'log.txt'))
                dst = path.realpath(path.join(ziel, 'log.txt.backupDay'))
                os.system("copy %s %s" % (src, dst))
                # check is file saved.....
                self.backup_erfolgreich = True
        else:
            self.backup_erfolgreich = False

Re: Backup jeden Tag um die selbe Zeit

Verfasst: Sonntag 3. Januar 2021, 12:11
von __deets__
Das logging Modul hat einen rotating file handler, der das automatisch macht.

Und os.system sollte man gar nicht benutzen. Sondern shutil.copy. Aber wie gesagt, einfach die eingebauten logging Möglichkeiten nutzen.

Re: Backup jeden Tag um die selbe Zeit

Verfasst: Sonntag 3. Januar 2021, 12:33
von Omm
__deets__ Vielen Dank
Genau sowas habe ich gesucht.