WBCE CMS – Way Better Content Editing.
You are not logged in.
Anbei ein Patch für "das" Backup Tool für Euch zum Testen.
WICHTIG: NUR ZUM TESTEN!
Da kann zwar IMHO nicht viel passieren, weil nur gesichert wird und nichts gelöscht, aber man weiß ja nie...
Originaldateien vorher SICHERN!
Änderungen:
* Starten der Sicherung von Dateien/Verzeichnissen ausgegliedert, wird per AJAX gestartet
* Zip-Datei wird NUR HIERFÜR im temp erzeugt, nicht im root-Verzeichnis
* Zip-Datei wird NUR HIERFÜR weder zum direkten Download angeboten noch automatisch wieder gelöscht (wär sonst doof...)
* temp-Verzeichnis hartcodiert aus der Sicherung ausgenommen
* root-Verzeichnisse, deren Name mit einem Punkt beginnt, hartcodiert ausgenommen
Weitere Ausnahmen können in Funktion myPreAddCallBack() definiert werden.
[== PHP ==]
function myPreAddCallBack($p_event, &$p_header)
{
$info = pathinfo($p_header['stored_filename']);
if(preg_match('~^temp/~i',$info['dirname'])) {
return 0;
}
if(substr($p_header['stored_filename'],0,1)=='.') {
return 0;
}
return 1;
}
An der Datenbank-Sicherung habe ich nichts geändert. Für einen Release fehlen mindestens Sprachstrings und Tests. Vor allem der Hinweis im Popup vor dem Beginn der Sicherung ist inhaltlich falsch, da der sich auf die DB-Sicherung bezieht. Das war aber vorher schon so.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Anbei eine installierbare Version (im obigen Zip fehlen info.php und index.php) mit angepassten Sprachdateien.
Ich hab's dann gleich mal getestet, funktioniert so weit ich sehe.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
War auch nicht als installierbare Version gedacht.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Anbei eine installierbare 2.9.1 (da Florian 2.9 schon vergeben hatte) des Backup Tools.
* Fallback bei den Sprachdateien auf EN
* Neuer Infotext für Dateisicherung
* Neuer Popup-Infotext für Dateisicherung
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Slugger
Werde ich mir auch Mal reinziehen.
Vielen Dank dafür
Eine Frage vorweg:
Hat das Ding ein Cronjob für entweder täglich, wöchentlich bzw monatlich?
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Offline
Nein, nur per Klick im Backend.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Ich war mal so frei, die Beiträge zu syncData aus diesem Thread zu extrahieren.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
florian, stefanek
Ich habe das jetzt nur halb gelesen ... Dieses Backup kann unterbrechungsfrei Komplettbackups auch von richtig großen Webseiten machen?
Offline
Wenn Du mit "richtig groß" -> "richtig viele Dateien" meinst, ja. Am Teil der Datenbanksicherung habe ich nichts geändert, wenn das also vorher nicht ging, geht es jetzt auch nicht.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
ice
Vielen Dank für die Arbeit am Modul, ich bin erst jetzt zum Testen gekommen.
Leider muss ich mitteilen, dass die max_execution_time (eingestellt auf 30 Sek.) nicht umgangen wird.
Zwar schmiert das Script bei großen Sicherungen nicht mehr wie bisher (alte <= 2.8.x-Version) mit einem "weißen Bildschirm" nach Erreichen der max_execution_time ab, aber nach den besagten 30 Sekunden erscheint die Meldung "fertig"; das Zip wird zwar erzeugt, enthält aber reproduzierbar nicht alle Dateien und Verzeichnisse. (Getestet bei Alfahosting und All-Inkl).
Peanuts:
- Text "Sicherung nur der von Websitebaker generierten Tabellen in Der Datenbank" müsste noch angepasst werden
- Zip-Backup-Erzeugung wird auch bei Klick auf "Abbrechen" im confirm gestartet
- Eintrag im Errorlog: [Notice] /modules/backup/backup-sql.php:[100] from /include/pclzip/pclzip.lib.php:[2394] PclZip->privAddFile "Undefined index: dirname"
Frage:
- wie müssten denn weitere, nicht zu speichernde Verzeichnisse eingetagen werden? Im preg_match-Ausdruck oder als weitere Anweisung (z.B. if(preg_match('~^owncloud/~i',$info['dirname'])) { return 0; } )?
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Komisch und schade. Mir war allerdings schon aufgefallen, dass beim Backup-Modul die Meldung "fertig" tatsächlich erst kommt, wenn das Zip erzeugt wurde - daher auch "fertig". Bei syncData kommt die Meldung viel schneller, während die Sicherung noch läuft. Im Moment kann ich nicht sagen, woran das liegt.
Ob Du einen "großen" regulären Ausdruck machst oder einzelne, ist eigentlich egal, tendenziell würde ich annehmen, dass einzelne besser lesbar sind.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Komisch und schade. Mir war allerdings schon aufgefallen, dass beim Backup-Modul die Meldung "fertig" tatsächlich erst kommt, wenn das Zip erzeugt wurde - daher auch "fertig". Bei syncData kommt die Meldung viel schneller, während die Sicherung noch läuft. Im Moment kann ich nicht sagen, woran das liegt.
Ob Du einen "großen" regulären Ausdruck machst oder einzelne, ist eigentlich egal, tendenziell würde ich annehmen, dass einzelne besser lesbar sind.
Nochmals zum Verständnis:
Wo kann ich denn das Ding einstellen, welche Ordner ich als Backup haben möchte bei FTP.
Und wo werden die Backups abgelegt?
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Offline
Du kannst theoretisch nur angeben, welche Ordner nicht gesichert werden sollen, indem Du die Zeilen
if(preg_match('~^temp/~i',$info['dirname'])) {
return 0;
}
in der backup-sql.php kopiertst, z.B. danach einfügst
if(preg_match('~^nichtspeichern/~i',$info['dirname'])) {
return 0;
}
Faktisch stelle ich nur gerade fest, dass das leider nicht funktioniert, d.h. sowohl der temp-Ordner als auch nicht zu speichernde Verzeichnisse sind doch im Zip enthalten.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Also bei mir funktioniert das einwandfrei.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Hm, das mit den Foldern kann ich bei mir nicht reproduzieren, temp ist definitiv nicht im ZIP enthalten.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
So, probiert doch bitte mal angehängte Datei zum Austausch. Ich habe versucht, Euch das Auflisten von Verzeichnissen zu erleichtern, die nicht ins Zip sollen.
Zeile 67:
[== PHP ==]
$ignore_dirs = array('temp','kanboard');
Müßte theoretisch auch mit Unterverzeichnissen gehen, habe ich aber noch nicht getestet.
Edit: Jo, das klappt auch.
[== PHP ==]
$ignore_dirs = array('temp','kanboard','modules/__news_img','modules/_my_news_img');
Edit: Anhang gelöscht
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Hoppla... temp überspringt jetzt auch templates...
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Fix.
Das Timeout-Problem kann ich derzeit leider nicht lösen, das gehe ich dann lieber mit SyncData an, als in diesem Alt-Modul. Bei mir (unter Windows) entkoppelt es sich sauber vom Browser und läuft auch durch, wenn das bei den Providern nicht funktioniert, habe ich da keine einfache Lösung für.
Edit: Anhang entfernt
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Slugger
Habs mal getestet.
Wie du schon geschrieben hast, Fertigmeldung kommt bereits, obwohl das ZIP-File noch erstellt wird.
Der Temp-Ordner wird jetzt übersprungen.
Es ist echt schade, das das Modul keine weitere Funktionen besitzt.
Ordneransicht in einem Fenster, welche ich nicht berücksichtigen möchte.
Anstatt nur ein Download der gesicherten Datenbank, eine Möglichkeit das die Datei als alternative in den Temp-Ordner gespeichert wird mit einer -Benachrichtigung als Email inkl. Link sowie ein Cronjob.
Das wäre so meine Wunschliste
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Offline
Ich habe früher immer dieses Tool benutzt: MySQLDumper. Es wird leider nicht weiter entwickelt, ist aber Open Source und umgeht die Zeitbeschränkungen.
Ich habe früher immer dieses Tool benutzt: MySQLDumper. Es wird leider nicht weiter entwickelt, ist aber Open Source und umgeht die Zeitbeschränkungen.
Den nutze ich nach wie vor mit angepasster php7.
Wenn aber das Modul die entsprechenden Gimicks könnte, kann auf den Dumper verzichtet werden.
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Offline
better-work
Der Dumper dumpt nur die Datenbank, und das schafft in 99 von 100 Fällen auch das Backup-Modul. Eine andere Möglichkeit, einen DB-Dump zu erzeugen, ist das Adminer-Admintool.
Zu Features vom Backup-Modul: Es ging hier darum, zu versuchen, mit überschaubarem Aufwand das Modul zu patchen. Komfort-Features sind nicht geplant gewesen, und werden wenn, dann in SyncData zur Verfügung stehen.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Slugger
Alles klar und vielen Dank für die Info
Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4: OK
Offline
@Slugger: Bei Dir läuft es also durch, ohne Timeout?
@Florian: Check mal bitte bei Dir auf FastCGI.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Testergebnis:
Das Ignorieren von Verzeichnissen funktioniert jetzt.
Sysinfo zeigt Server API: CGI/FastCGI an.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline