Ankündigung

Einklappen
Keine Ankündigung bisher.

Backup - Wiederherstellung funktioniert nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Backup - Wiederherstellung funktioniert nicht

    Servus Wolfram wvhn

    Ich habe nun endlich Zeit gefunden meine Visu von 3.4 auf 3.5 zu ändern.
    Bis auf zwei Sachen hat der Umzug gut geklappt.

    Das eine ist Backup/Restore. Backup klappt problemlos, Zipfile wird erstellt. Restore klappt gar nicht, ich bekomme einen "Unknown command" Fehler.

    Gruß, Martin

    Anm: von diesem Thread abgetrennt
    Zuletzt geändert von Sipple; 22.05.2025, 08:06.

    #2
    Moin Martin,

    Die Backup-Funktion hat bei mir funktioniert, nachdem ich php8.2-zip nachinstalliert hatte. Das Rückspeichern hat auch funktioniert. Man muss danach aber die Rechte neu setzen. Schau doch mal in der error.log des Webservers, ob eine genauere Fehlermeldung vorhanden ist.

    Gruß
    Wolfram
    Zuletzt geändert von wvhn; 22.05.2025, 07:09.

    Kommentar


      #3
      Zitat von wvhn Beitrag anzeigen
      Schau doch mal in der error.log des Webservers, ob eine genauere Fehlermeldung vorhanden ist.
      Da steht folgendes drin:

      Code:
      [Wed May 21 19:05:59.537045 2025] [php:warn] [pid 48477:tid 48477] [client 192.168.178.22:50651] PHP Warning:  POST Content-Length of 14518735 bytes exceeds the limit of 8388608 bytes in Unknown on line 0, referer: http://192.168.178.194/smartvisu/index.php?page=backup
      
      ​
      Sagt mir leider nichts. EDIT: Ist das Zipfile schlicht zu groß?
      php8.2-zip ist drauf.
      Das passiert bei allen 4 Installationen (einmal 3.4 und dreimal 3.5 auf insgesamt 3 PIs).
      Sollte vielleicht besser in einen passenderen Thread.
      Zuletzt geändert von wvhn; 22.05.2025, 07:16.

      Kommentar


        #4
        Moin

        Es war die Größe des ZIP Files.

        Beim Erstellen war das wohl kein Thema, aber beim Wiederherstellen darf es anscheinend max. 8 MB groß sein (2^23 Bit = 8388608, Bit 24 vielleicht ein Vorzeichen?).
        Ich hatte in meinem dropins/icons Ordner ein fast 4,5 MB großes Bild. Ich kann nur vermuten, warum das so unnötig groß war. Das Bild wurde von einem Kumpel mit Photoshop bearbeitet und Photoshop hat es wohl bei der PNG-Ausgabe übertrieben. War mir nicht aufgefallen, weil die Visu das klaglos verarbeitet, inkl. Backup erstellen. Sinnigerweise war das Bild dann auch noch zweimal im Ordner, einmal gezippt.

        Kommentar


          #5
          Moin Martin Sipple,

          die ZIP-Datei ist ungewöhnlich groß. Eigentlich sollte sogar eine Meldung im Nachrichtendreieck oben rechts kommen, wenn die Datei größer als 10 MB ist.
          Hier gibt es eine Info zum Limit in der php.ini. Wenn das nicht klappt, kannst Du noch versuchen, das Limit für post_max_size zu erhöhen.

          Gruß
          Wolfram

          Kommentar


            #6
            Da haben sich unsere Posts wohl überschnitten.

            Wenn das PHP-Skript auf kleiner 10 MB prüft, der POST aber nur 8 MB verträgt, dann vielleicht besser auf kleiner 8MB prüfen.
            Ich selber habe im Apache keinerlei Änderungen gemacht. Die 8MB scheinen also irgendein Default-Wert zu sein. Ob im Skript oder im Apache selber, weiß ich nicht.
            Jedenfalls hat es beim Erstellen des Backups keinerlei Meldung in der Visu gegeben. Erst beim Wiederherstellen.
            Zuletzt geändert von Sipple; 22.05.2025, 08:22.

            Kommentar


              #7
              Moin Martin Sipple,

              Es gibt zwei Größenbeschränkungen in php.ini für die maximale Größe von POST Requests (post_max_size) und die maximale Größe hochgeladener Dateien (upload_max_filesize). Die erzeugte ZIP-Datei darf diese Grenzen nicht überschreiten. Ich habe die Funktion jetzt überarbeitet und vor allem das Fehlerhandling erweitert. Beim Wiederherstellen (Restore) werden die beiden Grenzen abgeprüft und spezifische Fehler geschmissen. Zusätzlich wird auch beim Erzeugen der ZIP-Datei schon gewarnt, wenn die Grenzen überschritten werden:

              grafik.png
              Man kann dann selbst entscheiden, ob man die Größenbeschränkungen erhöht oder die zu sichernden Ordner von überflüssigen Dateien befreit.

              Die Änderung ist jetzt im develop branch.

              Was ich bisher noch nicht gelöst habe: das Skript ruft "bash setpermissions" auf, um die Rechte der wiederhergestellten Dateien zu setzen. PHP kann diesen Befehl aber nicht mit Root-Rechten ausführen, was einige Fehlermeldungen zur Folge hat. Man muss den Befehl also nach dem Wiederherstellen manuell (mit sudo) ausführen.
              Vielleicht hat hijacker7 dazu noch eine Idee?

              Gruß
              Wolfram

              Kommentar


                #8
                Das Problem der setpermissions tritt IMHO nur auf weil ein nginx oder Apache nicht als user smarthome oder ähnliches läuft sondern mit www-data.

                Es ist ja bei den Webhostern so, das dort der Webserver für einen Kunden im Namen und mit Rechten des Kunden läuft.
                Vielleicht wäre das eine Idee die Permissions nicht immer ändern zu müssen.
                Ich meine für den Apache gibt es da einen Eintrag der dafür sorgt das die Webseite mit bestimmtem User und Gruppe läuft. Aber da kenne ich mich en Detail nicht genug aus.

                Kommentar

                Lädt...
                X