Bene: Erstellen von Sicherungen einer Webpräsenz

Hallo,

ich habe ein bestehendes CMS auf meine Anforderungen angepasst. Das CMS ist einfach gehalten und soll gerade im Umgang mit Computern nicht so erfahrenen Personen die Pflege der Website erlauben.
Zusätzlich möchte ich den Benutzern die Möglichkeit geben, Sicherungen der Inhalte zu erstellen und dann immer zu den früheren Versionen zurückzukehren. Ich zerbreche mir jetzt schon lange den Kopf, wie ich das realisieren könnte:

  • erste Idee war es die Datenbank zu sichern.  und dann bei Bedarf wieder überspielen (ist dies mit php möglich?)
    Ein Problem was sich dann aber ergibt, sind Inkonsistenzen zwischen den Dateien auf dem Server ( z.B. Bilder die hochgeladen wurden ) und deren entsprechende Einträge in die Datenbank. (jedes hochgeladenen Bild ist in der Datenbank eingetragen). Also müsste ich beim Wiederherstellen umfangreiche Überprüfungen und Dateioperationen durchführen um die Konsistenz zu wahren. Ich frage mich an dieser Stelle, ob PHP für solche umfangreichen Dateioperationen geeignet ist.

Habt ihr vielleicht einen Tipp für mich. Andere, vielleicht elegantere Wege?
Danke für die Hilfe.
Bene

  1. Hi,

    Habt ihr vielleicht einen Tipp für mich. Andere, vielleicht elegantere Wege?

    ich weiss nicht ob dir wirklich weiterhilft, aber ein Blick sollte sich jedenfalls lohnen:
    < http://www.ruinelli.ch/bysu>

    MfG,
      Juan

  2. Hallo!

    Ich hab mal folgende Lösung dafür gemacht:

    Ein PHP File, dass über exec mysqldump aufruft und das Ergebnis in ein File schreibt. Weiterleitung auf das nächste PHP File, dass per exec mit tar alle gewünschten Files und Verzeichnisse packt.
    Ich hab diese beiden Prozeduren absichtlich nicht in einem PHP File gemacht, da ich befürchte, dass irgendein Prozess mal die max. Ausführungszeit bricht.
    Anschließend wird der Datenbankdump noch zu dem tar File dazugepackt und der Link zu dem File wird angezeigt. Jetzt kann man es über HTTP oder FTP downloaden oder einfach auf dem Server stehen lassen.

    Der Nachteil: Man braucht eben genug freien Speicher auf dem Server.

    mfg
      frafu

    1. Hallo,

      danke für die Antworten.
      Noch eine Frage an frafu:
      Hast du es auch geschafft, die Sicherung automatisch wieder einzuspielen oder musste das manuelle gemacht werden.

      grüße
      bene

      1. Hallo!

        danke für die Antworten.
        Noch eine Frage an frafu:
        Hast du es auch geschafft, die Sicherung automatisch wieder einzuspielen oder musste das manuelle gemacht werden.

        Über automatisches Einspielen hab ich mir noch keine Gedanken gemacht.
        Was ich gelegentlich mache, ist das Backup vom Webserver lokal bei mir installieren. Das mach ich händisch. Geht aber ratz-fatz. Das Tar File in das Webserververzeichnis entpacken und den DB Dump mit mysql einspielen => Fertig.

        mfg
          frafu

        1. Hallo,

          Danke! Vielleicht werd ichs mal versuchen, allerdings scheint es schon recht viel Aufwand zu sein.

          grüße
          Bene

          1. Hallo!

            Hallo,

            Danke! Vielleicht werd ichs mal versuchen, allerdings scheint es schon recht viel Aufwand zu sein.

            Wo ist da der Aufwand?
            1. mysqldump aufrufen und den output in irgendein file umlenken.
            2. Das Webrootverzeichnis mit tar packen (und gegebenenfalls noch den dump hinzufügen) und dem user den link zu dem tar anzeigen.

            mfg
              frafu

  3. Hallo Bene,

    Zusätzlich möchte ich den Benutzern die Möglichkeit geben, Sicherungen der Inhalte zu erstellen und dann immer zu den früheren Versionen zurückzukehren. Ich zerbreche mir jetzt schon lange den Kopf, wie ich das realisieren könnte:

    • erste Idee war es die Datenbank zu sichern.  und dann bei Bedarf wieder überspielen (ist dies mit php möglich?)

    Du suchst also ein Versionskontrollsystem? Die bekanntesten dürften Subversion und das ältere CVS sein. Ich habe es selber noch nicht gemacht, aber ich vermute mal, dass es möglich sein sollte so etwas in dein CMS zu integrieren.

    Schöne Grüße,

    Johannes

    --
    WM-Tippspiel: http://zeller-johannes.de/wmtipp/
    ie:% fl:( br:< va:| ls:[ fo:) rl:) n4:? ss:| de:] js:| ch:} sh:) mo:| zu:)