Recovery einer FreeCAD-Datei

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
Repman
Posts: 265
Joined: Sat Jul 05, 2014 9:56 am

Recovery einer FreeCAD-Datei

Postby Repman » Fri Apr 06, 2018 11:08 pm

Guten Abend zusammen,
gibt es eine Möglichkeit, eine FreeCAD-Datei wiederherzustellen, wenn man vergessen hat zu speichern?
Ich habe "Save Auto recovery information every 15 min" eingestellt. FreeCAD ist nicht abgestürzt, aber ich habe versehendlich die Frage, ob ich FreeCAD verlassen möchte, mit ja beantwortet und das Speichern des Dokumentes ignoriert. Jetzt ist der letzte Stand des Speicherns vor ca. 5 Stunden. :oops: :roll:
Kann ich aus den Recovery Informationen den letzten Stand wieder herstellen? Wenn ja, wie geht das? Wo stehen die Daten?

Viele Grüße
Stefan

OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6712 (Git)
Build type: Release
Branch: releases/FreeCAD-0-16
Hash: da2d364457257a7a8c6fb2137cea12c45becd71a
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
jeno
Posts: 579
Joined: Sun Jun 29, 2014 10:41 am

Re: Recovery einer FreeCAD-Datei

Postby jeno » Sat Apr 07, 2018 9:17 am

Repman wrote:
Fri Apr 06, 2018 11:08 pm
Guten Abend zusammen,
gibt es eine Möglichkeit, eine FreeCAD-Datei wiederherzustellen, wenn man vergessen hat zu speichern?
Ich habe "Save Auto recovery information every 15 min" eingestellt. FreeCAD ist nicht abgestürzt, aber ich habe versehendlich die Frage, ob ich FreeCAD verlassen möchte, mit ja beantwortet und das Speichern des Dokumentes ignoriert. Jetzt ist der letzte Stand des Speicherns vor ca. 5 Stunden. :oops: :roll:
Kann ich aus den Recovery Informationen den letzten Stand wieder herstellen? Wenn ja, wie geht das? Wo stehen die Daten?

Viele Grüße
Stefan
...
Ich bin nicht unter Windows unterwegs, aber ich denke es sollte dort genauso sein. Du hast deine Datei zum Beispiel abc genannt. Dann sollte es zwei Dateien geben: abc.fcstd und abc.fcstd1 Die abc.fcstd ist das Orginal, die abc.fcstd1 die Sicherung. Benenne dein Orginal um, z. B. abc.fcstd.bak und die abc.fcstd1 dann in abc.fcstd
Du kannst ja vorab schauen, welchen Zeitstempel die abc.fcstd1 hat. Sollte maximal 15min älter sein wie der Zeitpunkt des Schliessens

MfG
Repman
Posts: 265
Joined: Sat Jul 05, 2014 9:56 am

Re: Recovery einer FreeCAD-Datei

Postby Repman » Sat Apr 07, 2018 12:50 pm

jeno wrote:
Sat Apr 07, 2018 9:17 am
Du hast deine Datei zum Beispiel abc genannt. Dann sollte es zwei Dateien geben: abc.fcstd und abc.fcstd1 Die abc.fcstd ist das Orginal, die abc.fcstd1 die Sicherung.
Tja, das ist bei mir leider nicht so. Die Sicherungskopie wird nur gemacht, wenn man speichert, nicht automatisch alle 15 min. Das Speichern habe ich aber vergessen...
Schätze mal, ich werde die Änderungen nochmal machen müssen...

VG
Stefan
ArminF
Posts: 768
Joined: Fri Dec 23, 2016 12:33 pm
Location: Augsburg, Germany

Re: Recovery einer FreeCAD-Datei

Postby ArminF » Sat Apr 07, 2018 1:22 pm

Wenn Du FreeCad schließt ohne zu speichern und Du startest später wieder neu, sollte eigentlich ein Fenster aufgehen, das Dich fragt, ob Du die aufgelisteten Dateien wieder herstellen willst. Kam dieses Fenster bei Dir nicht zum Vorschein? Ob das für alle aktuellen Versionen zutrifft weiß ich nicht.

Armin
Last edited by ArminF on Sat Apr 07, 2018 1:40 pm, edited 1 time in total.
Wer einen Rechtschreibfehler findet, kann ihn behalten :lol:
Repman
Posts: 265
Joined: Sat Jul 05, 2014 9:56 am

Re: Recovery einer FreeCAD-Datei

Postby Repman » Sat Apr 07, 2018 1:30 pm

Tja, die Frage zur Wiederherstellung kam leider nicht. FreeCAD war ja auch nicht abgestürzt. Ich habe es einfach beendet und da ich gerade auch noch 20 andere Programme auf hatte, habe ich alle nacheinander geschlossen und die Warnung zum Speichern einfach weggedrückt. War leider Schusseligkeit. Da war es passiert. Sicherungskopien (FCSTD1, 2,3, etc.) waren keine vorhanden.
Kann man die automatischen Sicherungskopien irgendwo einstellen? Mein FC macht zwar Kopien, wenn ich explizit speichere, aber zeitlich gesteuert, also etwa alle 15 min, macht es nicht. Wo stellt man das ein?
VG
Stefan
jeno
Posts: 579
Joined: Sun Jun 29, 2014 10:41 am

Re: Recovery einer FreeCAD-Datei

Postby jeno » Sat Apr 07, 2018 3:04 pm

Repman wrote:
Sat Apr 07, 2018 1:30 pm
Tja, die Frage zur Wiederherstellung kam leider nicht. FreeCAD war ja auch nicht abgestürzt. Ich habe es einfach beendet und da ich gerade auch noch 20 andere Programme auf hatte, habe ich alle nacheinander geschlossen und die Warnung zum Speichern einfach weggedrückt. War leider Schusseligkeit. Da war es passiert. Sicherungskopien (FCSTD1, 2,3, etc.) waren keine vorhanden.
Kann man die automatischen Sicherungskopien irgendwo einstellen? Mein FC macht zwar Kopien, wenn ich explizit speichere, aber zeitlich gesteuert, also etwa alle 15 min, macht es nicht. Wo stellt man das ein?
VG
Stefan
Schade. Eventuell liegen die Sicherungskopien unter Windows irgendwo in einem Temp-Verzeichnis ab. Dort wo auch die Konfigurationsdateien von Freecad liegen. Also sowas wie Laufwerk\Benutzer\"Benutzername"\AppData\Local\... Durchsuche doch mal das ganze Benutzerverzeichnis. Ggf tauchen die Sicherungsdateien irgenwo auf.
Ansonsten findest du die Konfiguration unter Bearbeiten > Einstellungen > Allgemein > Reiter Dokument
Screenshot_20180407_164809.png
Screenshot_20180407_164809.png (119.24 KiB) Viewed 638 times
MfG
chrisb
Posts: 18821
Joined: Tue Mar 17, 2015 9:14 am

Re: Recovery einer FreeCAD-Datei

Postby chrisb » Sun Apr 08, 2018 3:27 am

Ich habe an einem Dokument eine Änderung gemacht und gewartet, bis eine Sicherungskopie erstellt wird (report view). Dann habe ich mein Temp-Verzeichnis, das FreeCAD-Config-Verzeichnis und /var durchsucht nach kürzlichen Änderungen - und habe nix gefunden.
Wir brauchen hier professionelle Hilfe:
wmayer wrote:wmayer
freecad-heini-1
Posts: 5883
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Recovery einer FreeCAD-Datei

Postby freecad-heini-1 » Sun Apr 08, 2018 6:39 am

chrisb wrote:
Sun Apr 08, 2018 3:27 am
Ich habe an einem Dokument eine Änderung gemacht und gewartet, bis eine Sicherungskopie erstellt wird (report view). Dann habe ich mein Temp-Verzeichnis, das FreeCAD-Config-Verzeichnis und /var durchsucht nach kürzlichen Änderungen - und habe nix gefunden.
Wir brauchen hier professionelle Hilfe:
wmayer wrote:wmayer
+1
jeno
Posts: 579
Joined: Sun Jun 29, 2014 10:41 am

Re: Recovery einer FreeCAD-Datei

Postby jeno » Sun Apr 08, 2018 9:28 am

chrisb wrote:
Sun Apr 08, 2018 3:27 am
Ich habe an einem Dokument eine Änderung gemacht und gewartet, bis eine Sicherungskopie erstellt wird (report view). Dann habe ich mein Temp-Verzeichnis, das FreeCAD-Config-Verzeichnis und /var durchsucht nach kürzlichen Änderungen - und habe nix gefunden.
Wir brauchen hier professionelle Hilfe:
wmayer wrote:wmayer
+1

Ich meine, das hat schon mal funktioniert. Ich habe das jetzt mit

Code: Select all

OS: Debian GNU/Linux testing (buster)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13509 (Git) AppImage
Build type: None
Branch: master
Hash: 0258808ccb6ba3bd5ea9312f79cd023f1a8671b7
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: German/Germany (de_DE)
getestet. Es wird eine Sicherungsdatei Dateiname.fcstd1 angelegt, wenn man a) das zweite Mal Speichern anwendet und b) aktualisiert, wenn man wieder Speichern anwendet. Aber das Auto-Wiederherstellen ist ohne Funktion (getestet mit 1 min und 5 min)

MfG
wmayer
Site Admin
Posts: 14885
Joined: Thu Feb 19, 2009 10:32 am

Re: Recovery einer FreeCAD-Datei

Postby wmayer » Sun Apr 08, 2018 10:18 am

gibt es eine Möglichkeit, eine FreeCAD-Datei wiederherzustellen, wenn man vergessen hat zu speichern?
Nein, die Daten sind weg.
Wenn man ein Dokument erstellt, dann wird im TEMP-Verzeichnis ein Verzeichnis der Form FreeCAD_Doc_{UUID}_{HASH}_{PID} erzeugt und darin ein Unterverzeichnis fc_recovery_files.

Sobald ein Dokument regulär geschlossen wird, dann wird automatisch das obige Verzeichnis rekursiv gelöscht. Die einzige Möglichkeit, Daten evt. wiederherstellen zu können ist die Verwendung von Spezialprogrammen, da ja die Daten i.d.R. noch auf der Festplatte sind, aber nur die Verweise gelöscht wurden.

Um derlei Probleme in der Zukunft zu vermeiden, ist es denkbar eine Option einzuführen, das Löschen des Verzeichnisses nicht durchzuführen. Allerdings könnte die Festplatte so ein kurzer Zeit ziemlich zugemüllt werden.
Mein FC macht zwar Kopien, wenn ich explizit speichere, aber zeitlich gesteuert, also etwa alle 15 min, macht es nicht. Wo stellt man das ein?
Dazu bedarf eines externen Scripts. Ich glaube triplus hat das mal geschrieben.
Schade. Eventuell liegen die Sicherungskopien unter Windows irgendwo in einem Temp-Verzeichnis ab. Dort wo auch die Konfigurationsdateien von Freecad liegen. Also sowas wie Laufwerk\Benutzer\"Benutzername"\AppData\Local\... Durchsuche doch mal das ganze Benutzerverzeichnis.
Das TEMP-Verzeichnis unter Windows ist C:\Users\<Benutzer>\AppData\Local\Temp, unter Linux ist es /tmp.
Aber das Auto-Wiederherstellen ist ohne Funktion (getestet mit 1 min und 5 min)
Auto-Wiederherstellung funktioniert so:
  1. FreeCAD erstellt beim Start eine Datei FreeCAD_{PID}.lock und blockiert diese
  2. Für jedes erstellte Dokument wird ein Verzeichnis FreeCAD_Doc_{UUID}_{HASH}_{PID} erzeugt
  3. Wird ein Dokument regulär geschlossen, wird das obige Verzeichnis gelöscht
  4. Wird FreeCAD regulär beendet, wird FreeCAD_{PID}.lock gelöscht
  5. Stürzt FreeCAD ab und wird später wieder gestartet, dann sucht es nach Dateien der Form FreeCAD_*.lock und prüft, ob diese geblockt ist. Falls ja, bedeutet das, dass noch eine andere FreeCAD-Instanz gestartet wurde und es wird nichts weiter unternommen. Falls diese nicht geblockt ist, dann ist das ein Hinweis, dass FreeCAD vorher abgestürzt ist. Es extrahiert dann die PID und sucht dann Verzeichnisse der obigen Namensgebung mir der gewonnenen PID.
  6. Falls FreeCAD fündig wurde, wird die Wiederherstellung gestartet.
Man kann sehr einfach testen, dass die Wiederherstellung funktioniert. Einfach Dokument erstellen und die angegebene Zeit abwarten, bis die Recovery-Dateien erstellt wurden. Dann FreeCAD mit Taskmanager oder unter Linux mittels killall FreeCAD abwürgen. Beim nächsten Start von FreeCAD sollte der Dialog zur Wiederherstellung erscheinen.