…und auch dieses Backup wird zerstört wenn Du von einer defekten SD eine korrupte DB kopierst. Backups *NIEMALS* einfach drüber bügeln sondern rotieren!
Viele Grüße, Andreas > Am 09.08.2021 um 10:51 schrieb John Doe <john...@null.net>: > > > Hallo Andreas, > > hierzu habe ich ein nettes Tool gefunden: > > https://github.com/rdiff-backup/rdiff-backup > > Dieses verwende ich nun, um mein komplettes lokales home-Verzeichnis auf > einen cifs-share zu sichern. > Und da hier eben nur die diffs zum letzten Mal gesichert werden, kann ich nun > auch etwas höherfrequent ein Backup erstellen, also bspw. alle 12 oder 6 > Stunden. > Grüße > > JD. > > > Sent: Sunday, August 08, 2021 at 2:12 AM > From: "Andreas Goetz" <cpui...@gmail.com> > To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org> > Subject: Re: [vz-users] (Daten-)Rettung sqlite.db3 von SD-Karte > …und vor allen Dingen: echtes Backup an einem sicheren Ort! > > Viele Grüße, Andreas > > Am 08.08.2021 um 02:03 schrieb John Doe <john...@null.net>: > > > Hallo zusammen, > > nach dem Durchlauf der aggregation ist meine Datenbank bis zum Kartencrash > wieder intakt. > Nochmal für alle, deren Karte auch hin und wieder mal abschmiert, mein > Vorgehen: > > 1. Der Karte eine intakte partition table mittels gpart spendiert > (https://help.ubuntu.com/community/DataRecovery#Gpart) > > 2. ddrescue wirklich über die komplette Karte mehrfach laufen lassen > (https://www.linux-magazin.de/ausgaben/2015/11/einfuehrung2/) > > 3. Per testdisk (aus den aktuellen Quellen > https://github.com/cgsecurity/testdisk kompiliert) die sqlite.db3 auf den > "neuen" Raspi kopieren > > 4. vzlogger und alle cron-Jobs auf dem Zielsystem abschalten > > 5. Einen Restore der Datenbank durchführen > (https://wiki.volkszaehler.org/software/tools/dbcopy): Zunächst mit einer > sicher intakten sqlite.db, danach mit der aus (3) extrahierten (dbcopy.yaml > entsprechend anpassen). > > 6. Gemäß wiki eine aggregation durchführen. > > 7. cronjobs wieder aktivieren, anschliessend reboot. > > Grüße > > JD. > > Sent: Saturday, August 07, 2021 at 2:54 PM > From: "John Doe" <john...@null.net> > To: volkszaehler-users@demo.volkszaehler.org > Subject: Re: [vz-users] (Daten-)Rettung sqlite.db3 von SD-Karte > Hallo zusammen, > > ich war in der Zwischenzeit mutig und habe durch ein > > /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c /etc/dbcopy.yaml > mit entsprechendem source und target zunächst die sicher intakte sqlite.db3 > und im Anschluss diejenige aus meiner Datenrettung wieder eingespielt, > Ergebnis: Fast alle meine Daten scheinen per Sichtkontrolle wieder da zu > sein. Lediglich ein Peak am Ende, welcher möglicherweise aus dem beginnenden > Crash stammt, ist noch übrig, aber den werde ich noch manuell begradigen. > Sobald das aggregate durchgelaugen ist, melde ich mich nochmal mit dem > endgültigen Ergebnis. > > Grüße > > > > JD. > > > > Sent: Saturday, August 07, 2021 at 10:20 AM > From: "John Doe" <john...@null.net> > To: volkszaehler-users@demo.volkszaehler.org > Subject: Re: [vz-users] (Daten-)Rettung sqlite.db3 von SD-Karte > Hallo zusammen, > > ich habe noch mal ein wenig herumprobiert. Zunächst habe ich der Karte mit > gpart einen neuen Header spendiert. Danach habe ich ddrescue einige Zeit über > die Karte laufen lassen, Ergebnis: 99.99 pct rescued. In der Folge habe ich > mit testdisk (kompiliert aus den aktuellen Github-Sourcen) die sqlite.db3 > kopiert. > Ein > > sqlite3 ~/Downloads/home/pi/sqlite-dumped.db3 "PRAGMA integrity_check" > > liefert leider > > Page 718135: btreeInitPage() returns error code 11 > Page 699295: btreeInitPage() returns error code 11 > Page 412064: btreeInitPage() returns error code 11 > On tree page 370249 cell 18: Rowid 0 out of order > On tree page 370249 cell 17: Rowid 0 out of order > On tree page 370249 cell 16: Rowid 0 out of order > On tree page 370249 cell 15: Rowid 0 out of order > On tree page 370249 cell 14: Rowid 0 out of order > On tree page 370249 cell 13: Rowid 0 out of order > On tree page 370249 cell 12: Rowid 0 out of order > On tree page 370249 cell 11: Rowid 0 out of order > On tree page 370249 cell 10: Rowid 0 out of order > On tree page 370249 cell 9: Rowid 0 out of order > On tree page 370249 cell 8: Rowid 0 out of order > On tree page 370249 cell 7: Rowid 0 out of order > On tree page 370249 cell 6: Rowid 0 out of order > On tree page 370249 cell 5: Rowid 0 out of order > On tree page 370249 cell 4: Rowid 0 out of order > On tree page 370249 cell 3: Rowid 0 out of order > On tree page 370249 cell 2: Rowid 0 out of order > On tree page 370249 cell 1: Rowid 0 out of order > On tree page 370249 cell 0: Rowid 0 out of order > Fragmentation of 412 bytes reported as 0 on page 370249 > On tree page 369985 cell 275: Rowid 26718170 out of order > Page 335622: btreeInitPage() returns error code 11 > Page 335601: btreeInitPage() returns error code 11 > Page 326664: btreeInitPage() returns error code 11 > Page 326660: btreeInitPage() returns error code 11 > Page 326642: btreeInitPage() returns error code 11 > Page 326640: btreeInitPage() returns error code 11 > Page 183558: btreeInitPage() returns error code 11 > Page 145754: btreeInitPage() returns error code 11 > Page 133296: btreeInitPage() returns error code 11 > Page 131242: btreeInitPage() returns error code 11 > Page 130006: btreeInitPage() returns error code 11 > Page 21264: btreeInitPage() returns error code 11 > Page 775024: btreeInitPage() returns error code 11 > Fragmentation of 384 bytes reported as 0 on page 427549 > Page 427482: btreeInitPage() returns error code 11 > Page 370242: btreeInitPage() returns error code 11 > Page 335617: btreeInitPage() returns error code 11 > Page 335612: btreeInitPage() returns error code 11 > Page 326678: btreeInitPage() returns error code 11 > Page 133332: btreeInitPage() returns error code 11 > Page 132755: btreeInitPage() returns error code 11 > Page 427473: btreeInitPage() returns error code 11 > Page 412090: btreeInitPage() returns error code 11 > Page 341941: btreeInitPage() returns error code 11 > Page 326667: btreeInitPage() returns error code 11 > Page 326622: btreeInitPage() returns error code 11 > Page 148619: btreeInitPage() returns error code 11 > Page 148612: btreeInitPage() returns error code 11 > Page 133328: btreeInitPage() returns error code 11 > Page 131207: btreeInitPage() returns error code 11 > Page 427494: btreeInitPage() returns error code 11 > Page 148621: btreeInitPage() returns error code 11 > Page 133324: btreeInitPage() returns error code 11 > Page 14360: btreeInitPage() returns error code 11 > Page 341881: btreeInitPage() returns error code 11 > Page 326606: btreeInitPage() returns error code 11 > Page 131196: btreeInitPage() returns error code 11 > Error: database disk image is malformed > > > Der Tip von > https://stackoverflow.com/questions/18259692/how-to-recover-a-corrupt-sqlite3-database/18260642 > liefert leider eine leere DB. > > Hat evtl. noch jemand eine Idee, was ich versuchen könnte ? > Grüße > > JD. > > > > > > Sent: Thursday, August 05, 2021 at 6:27 PM > From: "Andreas Götz" <cpui...@gmail.com> > To: "volkszaehler.org - users" <volkszaehler-users@demo.volkszaehler.org> > Subject: Re: [vz-users] (Daten-)Rettung sqlite.db3 von SD-Karte > Deine DB ist kaputt und die Daten weg, mehr lässt sich dazu nicht sagen… > > Viele Grüße, > Andreas > > Am 05.08.2021 um 18:21 schrieb John Doe <john...@null.net>: > > > Hallo zusammen, > > kurzes Update: > > Ich habe mittels testdisk aus der Karte eine sqlite.db3 herausbekommen (via > Image-Erstellung der ext4-Partition). Beim Versuch des Zurückspielens nun > leider das: > > pi@raspberrypi:~ $ sudo /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c > /etc/dbcopy.yaml > entities: copying 2 rows (overwrite) > [============================] 100% < 1 sec/< 1 sec 2 rows > properties: copying 16 rows (overwrite) > [============================] 100% < 1 sec/< 1 sec 16 rows > entities_in_aggregator: copying 0 rows (overwrite) > 0 [>---------------------------] < 1 sec 4.0 MiB > data: copying > In AbstractSQLiteDriver.php line 70: > > An exception occurred while executing 'SELECT COUNT(1) FROM ("data")': > > SQLSTATE[HY000]: General error: 11 database disk image is malformed > > In PDOConnection.php line 90: > > SQLSTATE[HY000]: General error: 11 database disk image is malformed > > In PDOConnection.php line 88: > > SQLSTATE[HY000]: General error: 11 database disk image is malformed > > copy [-c|--config CONFIG] [-b|--batch BATCH] [-k|--keep-constraints] [--] > [<tables>...] > > > Abfolge: > > Wie im wiki beschrieben eine sqlite.db3 mit dbcopy create angelegt. Diese mit > der sqlite.db3 aus testdisk ersetzt, in der dbcopy.yaml Quelle und Ziel > vertauscht und obigen Befehl verwendet. > Könnte da noch was zu retten sein ? > Grüße > > JD. > > > Sent: Wednesday, August 04, 2021 at 9:16 PM > From: "John Doe" <john...@null.net> > To: volkszaehler-users@demo.volkszaehler.org > Subject: [vz-users] (Daten-)Rettung sqlite.db3 von SD-Karte > Hallo zusammen, > > mitr ist mal wieder eine SD-Karte abgeraucht. Ich habe ein älteres Image der > Karte und zwei Backups der sqlite.db3 - ein älteres und ein uraltes. > Aufgrund persönlicher Unzulänglichkeiten hat die tägliche Datensicherung > nicht das getan, was ich vorhatte. > Nun meine Frage: > Ich habe ein einem SD-Kartenleser noch Zugriff auf die SD-Karte. > Wenn ich die sqlite.dp3 aus dem Verzeichnis /home/pi auf meinen Rechner > kopieren will, ergibt sich ein > > cp: Fehler beim Lesen von 'sqlite.db3': Eingabe-/Ausgabefehler > > > Vermutlich, weil an der Stelle die Karte schin teilweise defekt ist. Gibt es > bspw. mit testdisk eine Möglichkeit, diese relativ aktuelle sqlite.db3 doch > noch zu retten ? > Die Dateigröße scheint zur theoretischen DB-Größe zu passen, alleine: Ich > komme nicht kopierfähig dran. > Beste Grüße > > JD.