Backup jeden Tag um die selbe Zeit

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Omm
User
Beiträge: 90
Registriert: Samstag 7. April 2018, 14:05

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
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Omm
User
Beiträge: 90
Registriert: Samstag 7. April 2018, 14:05

__deets__ Vielen Dank
Genau sowas habe ich gesucht.
Antworten