Jump to content

Einstellungen verloren


Recommended Posts

Hallo zusammen.

Nachdem mein PC gestern Vormittag eingefroren ist, (hatte ich bis jetzt in dieser Form noch nie) hat der DVBV alle Einstellungen verloren. Die Datei setup20210521113020.bak (die ja ein Backup der Einstellungsdatei setup.xml ist) enthält nur noch Punkte.

In meinen Backup Archiven sehe ich das am 20.05 23 Uhr noch eine setup.xml mit logsichen Inhalt. Am 21.05 11 Uhr finde ich dann eine größengleiche! Datei mit Punkten (NUL) als Inhalt.

Jetzt meine Frage: Warum erkennt der DVBV den Umstand nicht, dass ein Problem aufgetreten und nimmt das Backup File? Jetzt hat der DVBV das Backup durch eine ungültige Datei ersetzt und ist für ein Restore nicht mehr sinnvoll. Also für den normal-User.

EDIT:

Ich sehe gerade, dass auch die UserData20210521112003.bak nur NUL enthält.

setup.zip

Edited by Meo
Ergänzungen, Verbesserungen :-)
Link to comment

Hallo,

 

ähnliches habe ich nach einem Absturz auch beobachtet. Danach waren u.a. allen programmierten Timer verschwunden und das Backup war nach dem ersten fehlerhaften Start auch nicht mehr brauchbar.

 

Es ist schon etwas sorglos wie der DVBViewer mit den Backups umgeht. Das alte bei noch funktionierendem DVBViewer sollte nicht einfach überschrieben sondern gesichert werden.

 

Deshalb lasse ich jetzt das Konfigurationsverzeichnis bei jedem Rechnerstart per Batch-Datei automatisch kopieren.

 

Ergänzung: https://www.DVBViewer.tv/forum/topic/60034-vorsicht-nach-absturztimerxml/?tab=comments#comment-464158

 

 

Viele Grüße

 

Webturtle

 

Edited by Webturtle
Ergänzung
Link to comment

Hallo.

Jepp, die svctimers.xml ging auch vor kurzen (ohne Anlass!) bei mir flöten. Mein Backup reicht bis 08/2020 zurück. Da kann ich aus den Vollen schöpfen. ?

Diesmal habe ich mich ganz bewusst durch die Optionen gehangelt. Mit den Hintergedanken: Wenn's nicht klappt, ist da noch die Backup-Kopie. Meine Timer hätte ich aber ohne Backup NIE wieder zusammen bekommen. Dafür reicht meine Speicherkapazität ? nicht aus!

Was ich gerade bemerke: UserData.xml ist wohl auf flöten gegangen. Das interne Backup UserData20210521112003.bak hat auch nur NUL als Inhalt. Was genau ist denn darin gespeichert? Hier nachzulesen.

Link to comment
3 hours ago, Meo said:

Warum erkennt der DVBV den Umstand nicht, dass ein Problem aufgetreten und nimmt das Backup File? Jetzt hat der DVBV das Backup durch eine ungültige Datei ersetzt und ist für ein Restore nicht mehr sinnvoll.

 

Du gehst von einer falschen Vermutung aus. Der DVBViewer erzeugt kein reguläres Backup der setup.xml. Das hieße nämlich schlicht setup.bak.

 

Wenn du einen aus dem aktuellen Datum und der aktuellen Uhrzeit abgeleiteten Dateinamen vorfindest, hat der DVBViewer beim Start festgestellt, dass eine XML-Setup-Datei nicht mehr lesbar ist. Er verpasst ihr dann einen höchstwahrscheinlich noch nicht existierenden Dateinamen, bevor er den Betrieb mit einer neuen leeren Datei und Default-Einstellungen fortsetzt - für den Fall, dass der Anwender aus der kaputten Datei noch etwas retten oder dort etwas nachschauen will.

 

Du kannst das leicht simulieren, indem du bei geschlossenem DVBViewer z.B. ein schließendes XML-Tag wie </entry> aus der setup.xml löschst. Dann steigt der XML Parser beim Laden mit einem Syntax Error aus, und es passiert das oben beschriebene.

 

Hier wäre also eher die Frage angebracht, warum der DVBViewer vor dem Schreiben der Einstellungen keine setup.bak (und userdata.bak) erzeugt. In der Version 5.2.9 (also irgendwann im Mittelalter :)) gab es das noch. Mehr kann ich darüber im Moment nicht herausfinden.

 

Ob es nun besser oder schlechter ist, sowas zu tun, darüber streiten sich die Gelehrten. Grundsätzlich gilt: Je mehr Dateioperationen, um so größer die Angriffsfläche für Unglücke durch harte PC-Abstürze. Nicht nur das Schreiben durch den DVBViewer ist kritisch, sondern die gesamte Zeitspanne von der Erzeugung der Datei bis zum Wegschreiben des Disk-Cache durch das Betriebssystem. Hinzu kommt, dass der DVBViewer die setup.xml nicht nur beim Beenden, sondern auch im laufenden Betrieb neu schreibt, wenn sich Einstellungen ändern.

 

Es gibt auch ohne .bak-Datei eine Sicherheitsmaßnahme: Der DVBViewer schreibt zunächst eine setup.tmp1, und erst wenn das vollständig geglückt ist, löscht er die setup.xml und benennt die setup.tmp1 in setup.xml um. Beim (alternativen) Erzeugen einer .bak würde dagegen zunächst eine existierende setup.bak gelöscht, dann die setup.xml in setup.bak umbenannt und abschließend die setup.xml geschrieben. Beim Laden würde der DVBViewer auf die setup.bak zurückgreifen, falls die setup.xml nicht mehr lesbar ist.

 

Link to comment

Hallo zusammen, hallo Griga.

Danke für die Erklärungen. Habe es verstanden. ?

 

Kein Backup --> kein Mitleid ?

Link to comment

Wer eine erhöhte Sicherheit gegen Datenverlust bei Abstürzen haben will, kann den Schreibcache für das betreffende Laufwerk deaktivieren (Gerätemanager -> Laufwerke -> Rechtsklick auf das Laufwerk -> Eigenschaften -> Richtlinien) und dafür eine verringerte Systemleistung in Kauf nehmen.

 

Link to comment

Ansonsten erzeugt Windows seit WinXP normalerweise in gewissen Zeitabständen Systemwiederherstellungspunkte. Bei Win7 konnte man da noch relativ komfortabel den Ordner mit rechts anklicken und im Eigenschaften-Dialog "Vorgängerversionen" aufrufen um gesicherte ältere Versionen zu öffnen und Dateien da raus zu kopieren. Seit Win8 geht das leider nicht mehr.

 

Selber verwende ich dafür den kostenlosen Shadow Explorer in der portablen Version. Hat mir schon öfter geholfen bei Bekannten, gelöschte oder anderweitig verlorene Dateien zurück zu bekommen. Auch unter Win10. Wobei Win10 gefühlt viel weniger/seltener solche Wiederherstellungspunkte anlegt.

 

Edited by HaraldL
Link to comment

Hallo,

 

ich habe mein altes Script für Timers.xml und *.bak, debug.log und DVBViewer.log um setup.xml und userdata.xml erweitert und kompiliert. Es kopiert die Dateien in ein Unterverzeichnis des Konfigurationsverzeichnisse namens Sik und hängt Datum und Uhrzeit an den Dateinamen an.  Das Script geht vom Standardpfad C:\ProgramData\CMUV aus. Bei einem abweichenden Pfad müßte es geändert werden. Das kompilierte Script kann man entweder automatisch beim Rechnerstart oder ab und zu bei Bedarf manuell ausführen lassen. Falls noch weitere Dateien einbezogen werden sollen oder bei anderen Rückfragen stehe ich gerne zur Verfügung.

 

DVBViewer_Data_Sik.zip

 

 

Viele Grüße

 

Webturtle

Link to comment

@Webturtle

Keine Werbung!

So Ähnlich macht das GoodSync für mich. Alle 8 Stunden wird eine Kopie der X:\ProgramData auf ein anderes Laufwerk angefertigt.

Und wenn die letzte Kopie der Files nicht hilfreich ist, sind im Unterordner _history_  noch die alten, geänderten Files in der gleich Ordnerstruktur nach dem folgenden Schema gesichert.

Z:\Sicherungen\yyyyyyyy\_gsdata_\_history_\ProgramData\CMUV\DVBViewer:

20.08.2020 06:12 16.953 setup_2020-0820-162951.xml
11.09.2020 07:57 17.069 setup_2020-0911-214824.xml
[..................................................]
21.05.2021 15:51 15.386 setup_2021-0521-223453.xml
21.05.2021 21:49 16.162 setup_2021-0522-043719.xml
22.05.2021 01:04 16.204 setup_2021-0522-103940.xml

 

Edited by Meo
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...