flip17
Goto Top

ASCII statts Binary bei Migration - fixgz Ergebnis unvollständig bei Rettunsversuch

Hallo,

ich habe ein riesiges Problem. Ich war verantwortlich für die Migration eines Moodle-Programms auf einen Pleskserver. Beide Server waren/sind gehostet.
Dazu habe ich die DB als .sql und einmal .zip exportiert.
Dann habe ich den dazugehörigen Data-Ordner per FTP auf meinen Windows-Rechner geladen (normal und als ZIP). Filezilla schien mir langsam und ich habe dann WINSCP benutzt - leider habe ich da wohl ASCII statts Binär im Transfer-mode benutzt. Die Original-Dateien sind Futsch, da der alte Account auf dem alten Server abgeschaltet wurde.

Das Programm funktioniert, zeigt alles korrekt an, aber wenn ich auf PDFs zum Downloaden klicke, bekomme ich nur beschädigte Dateien.
Wenn ich in der DB über den contenthash die Datei ermittele, bekomme ich in dem Ordner bloß eben eine Datei mit contenthash ohne Endung. Word-Dateien lassen sich in Notepad teilweise erkennen. JPEG lassen sich nur farblich wild verpixelt und JPEGs weiß öffnen. Links hingegen funktionieren.

Ich habe nun fixgz für windows versucht, den gezippten Data-Ordner in den fixgz gepackt und dort fixgz per cmd ausgeführt. Es kommt ein Archiv heraus, das aber beim Öffnen mit winar oder 7zip beschädigt ist. Wenn ich diese beschädigte Zip-Datei öffne, ist dann bloß der erste Cache-Ordner enthalten (ich habe die Anleitung */defekte-gzip-und-tar-archive-reparieren versucht).

Könnt Ihr mir bitte helfen? Mein Erfahrungswert mit Unix ist gleich Null. Ich war bisher nur Anwender auf Windows und habe ein paar Dateien per FTP hin-und hergeschoben.

Windows 10 mit XAMP, Cygwin und WINSCP, Filezilla, Winrar, 7-ZIP
Dedicated Server: Plesk (kann über die Oberfläche einige Befehle ausführen lassen)
Datenbank-Server
Server: Localhost via UNIX socket
Server-Typ: MariaDB
Server-Version: 10.0.29-MariaDB - MariaDB Server
Protokoll-Version: 10
Benutzer: *@localhost
Server-Zeichensatz: UTF-8 Unicode (utf8)
Webserver
nginx/1.9.9
Datenbank-Client Version: libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $
PHP-Erweiterung: mysqliDokumentation curlDokumentation mbstringDokumentation
PHP-Version: 5.6.27

Content-Key: 327804

Url: https://administrator.de/contentid/327804

Printed on: April 27, 2024 at 00:04 o'clock

Member: MOS6581
MOS6581 Jan 28, 2017 at 12:51:08 (UTC)
Goto Top
Ich würde, unabhängig von der Datenrettung, als zweites Standbein ganz schnell versuchen, beim Hoster anzuklopfen und fragen, ob der Server wieder eingeschaltet werden kann (sofern die Daten noch nicht überschrieben wurden). Hast du keinen Backup-Space beim Hoster?

Zwei Links die dir eventuell helfen könnten:

http://superuser.com/questions/195612/recovering-corrupted-files-upload ...
http://www.gzip.org/#faq1 (siehe fixgz!)

lG MOS
Member: Flip17
Flip17 Jan 28, 2017 at 12:56:34 (UTC)
Goto Top
Danke für Dein Interesse.

Habe den Hoster schon abgeschrieben, ist allerdings jetzt schon 3 Wochen her. Ich habe das erst gestern gemerkt.

Die Links kenne ich beide, aber nirgendwo finde ich eine Fehlermeldung, die sich auf ein beschädigtes oder halbfertiges Archiv nach fixgz bezieht.
Member: MOS6581
Solution MOS6581 Jan 28, 2017 at 13:01:09 (UTC)
Goto Top
Ah, hab´ überlesen, dass du dich bereits mit fixgz gespielt hast. Was passiert, wenn du eine einzelne korrupte Datei (z.B. eines der PDFs) durch fixgz jagst?
Member: Flip17
Flip17 Jan 28, 2017 at 14:31:12 (UTC)
Goto Top
Ich habe über die Datenbank ein Word-Datei ermittelt.

Wenn ich so eine hashdatei (ohne spezielle Endung und ungepackt) in fixgz lade, kommt eine Datei raus, die ich dann in Word öffnen kann (wiederhergestellt). Sie hat halt noch keine Dateiendung. Das funktionierte mit einer PDf (mit einer anderen nicht) und mit einem JPEG.

Wo ist das Problem? Scheint wohl an gepackten Dateien zu liegen. Wenn ich eine Datei als zip auf dem serv packe, downlaode und in fixgs laufen lasse (manchmal kommt hier schon der Fehler "cannot open") und die neue Datei entapcken will, kommt ein Fehler Archiv beschädigt.

Kann ich das schneller machen, als jede einzelen Datei so zu ermitteln?

Vielen Dank, dass Du mir hilfst!
Member: MOS6581
MOS6581 Jan 28, 2017 at 14:37:48 (UTC)
Goto Top
Ah, jetzt komme ich mit... ich kenne dein Moodle-Programm und die dahinterliegende DB-Struktur jetzt nicht - aber wäre es prinzipiell möglich, anhand der Datenbank den Dateityp herauszufinden und über ein entsprechendes Script die Datei durch fixgz zu jagen und mit der entsprechenden Dateiendung (.pdf, .doc(x),...) zu versehen?
Member: Flip17
Flip17 Jan 28, 2017 at 14:50:46 (UTC)
Goto Top
Wahrscheinlich schon, aber ich habe keine Ahnung wie ich so ein Script aufsetzen sollte...

Ich habe den Tipp aus dem Moodle Forum versucht "Corrupted files after migration". Da spricht Ken Task davon, dass es vom ganzen gepackten Backup möglich sein sollte. Ich würde das ja nämlich dann wieder auf den Server per Binarytransfer laden.

Über seine query habe ich in der DB dann auch die Dateien ermitteln können.
Member: Flip17
Flip17 Jan 28, 2017 at 17:05:18 (UTC)
Goto Top
Ich brauche für das Programm Moodle die Dateien also ohne Endung. Ich will sie bloß alle (also das Archiv) auf einmal durch fixgz bekommen. Muss ich das Archiv denn als TAR haben?