Gibt es ein Plugin welches zeitgesteuert das Forum in den Wartungszustand versetzt...

  • Affected Version
    WoltLab Suite 5.2

    ... und nach einer gewissen Zeit wieder automatisch frei gibt?
    Ich denke daran,weil ich jede Nacht gegen 4:00 die DB sichere . Es wäre schön wenn von 3:58 - 4:15 Uhr das Forum gestoppt wäre.
    Eventuell auch um ein Rsync des wcf Verzeichnisses auf einen Linux PC in einem solchen Zeitrahmen laufen zu lassen.
    Würde mich nur mal interessieren

    Danke für eine Antwort

    LG

  • Ich wüsste jedenfalls nicht, dass hier mal jemand ein Script gepostet hätte, das das kann. Wenns so simpel ist, kann das ja mal einer machen. Wie schon im anderen Thema geschrieben würde mir persönlich ein Sicherungsscript nicht helfen, da der Hoster bei mir die Sicherung macht. Mache ich sie per Hand, kann ich das Forum auch selber schließen.

    Liebe Grüße
    Susi

  • Naja,das selbe Script, welches die Sicherung durchführt, kann auch dazu verwendet werden, die Software in den Wartungsmodus zu versetzen und diesen auch hinterher wieder zu beenden.

    Na dann frag ich mal: wie müsste denn dieser Zusatz in meinem Datensicherungsscript aussehen?
    Wie versetze ich in einem Script mein Forum in den Wartungszustand und am Ende der Sicherung wieder wieder zurück?
    Wenn Du mir das schreibst würde es mir sehr helfen.
    Danke schon mal dafür

    LG

  • Es sollte ausreichen den entsprechenden Wert in der Datenbank anzupassen. Noch besser wäre aber natürlich eine Backuplösung, die mit Datenbanken geeignet umgeht, und solche Basteleien dadurch erübrigt. Aber ist das denn wirklich ein so großes Problem? Man sichert ja keine defekte Datenbank, sondern höchstens möglicherweise einige ungültige Datensätze, die man doch sicher auch wieder reparieren bzw. entfernen kann.

  • Es sollte ausreichen den entsprechenden Wert in der Datenbank anzupassen. Noch besser wäre aber natürlich eine Backuplösung, die mit Datenbanken geeignet umgeht, und solche Basteleien dadurch erübrigt

    Da verstehe ich nicht was Du damit meinst? Welchen Wert meinst Du:?:
    Ich denke mysqldump ist keine Bastelei sondern gehört standardmässig zur Datenbank. Und sichert bislang recht zuverlässig.
    Der Mysqldumper war zu seiner Zeit noch eine tolle Lösung, läuft bei mir auch noch unter PHP 7.3. Einwandfrei.
    Aber eben immer bei geöffnetem Forum, da ich nicht nachts um 4 aufstehen will wenn vielleicht mal keiner Online ist.

    LG

  • Da verstehe ich nicht was Du damit meinst? Welchen Wert meinst Du:?:

    Das was sich ändert, wenn du über das ACP den Wartungsmodus aktivierst, kannst du sicher auch in der Datenbank ändern, wird halt vermutlich nur ein Wert von 0 auf 1 gesetzt.

    Ich denke mysqldump ist keine Bastelei sondern gehört standardmässig zur Datenbank. Und sichert bislang recht zuverlässig.

    Sicher. Du möchtest ja aber eine Lösung, die den Wartungsmodus aktiviert.

  • Du möchtest ja aber eine Lösung, die den Wartungsmodus aktiviert.

    So ist es. Ich könnte ja um vier ein Script starten welches den Wartungszustand einschaltet, fahre in einem nächsten Script meinen mysqldum, und hebe den Wartungszustand dann wieder auf.
    Und wenn ich will kann ich eventuell (??) mittels | alles in ein Script fassen.

    Aber es scheint ja kein Plugin oder Script zu geben was man benutzen könnte um den Wartungszustand zeitgesteuert herzustellen.

    LG

  • Das was sich ändert, wenn du über das ACP den Wartungsmodus aktivierst, kannst du sicher auch in der Datenbank ändern, wird halt vermutlich nur ein Wert von 0 auf 1 gesetzt.

    Sicher. Du möchtest ja aber eine Lösung, die den Wartungsmodus aktiviert.

    jo, ist genau ein Wert, den ich später mal gerne raussuchen kann. Jedoch muss man danach noch immer den Cache und die options.inc.php händisch leeren/löschen, damit er definitiv den neuen Wert erkennt.


    EDIT: Es handelt sich um folgende Werte jeweils in der wcf1_option, wo immer die Spalte optionValue angepasst werden muss:

    optionName optionTypeoptionValue Funktion
    offline boolean 0 Aktiviert den Wartungsmodus (0 = aus)
    offline_message textareaI18n Text Setzt den Text des Wartungshinweises (Leer = kein eigener Hinweißtext)
    offline_message_allow_html boolean 0 Sagt aus, ob HTML verwendet werden soll, oder eben nicht (0 = kein HTML)

    „If you can only do one thing, hone it to perfection. Hone it to the utmost limit!“ – Zenitsu Agatsuma

    Edited 6 times, last by Xopez: Erweitert um options.inc.php (July 29, 2020 at 8:21 PM).

  • jo, ist genau ein Wert, den ich später mal gerne raussuchen kann. Jedoch muss man danach noch immer den Cache händisch leeren, damit er definitiv den neuen Wert erkennt.


    EDIT: Es handelt sich um folgende Werte jeweils in der wcf1_option, wo immer die Spalte optionValue angepasst werden muss:

    optionName optionTypeoptionValue Funktion
    offline boolean 0 Aktiviert den Wartungsmodus (0 = aus)
    offline_message textareaI18n Text Setzt den Text des Wartungshinweises (Leer = kein eigener Hinweißtext)
    offline_message_allow_html boolean 0 Sagt aus, ob HTML verwendet werden soll, oder eben nicht (0 = kein HTML)

    nur die reinen werte in der Datenbank ändern reicht doch nicht?, die option.inc (oder so) muss doch auch neu generiert werden (bzw gelöscht werden) zumindest war früher das verhalten so

  • nur die reinen werte in der Datenbank ändern reicht doch nicht?, die option.inc (oder so) muss doch auch neu generiert werden (bzw gelöscht werden) zumindest war früher das verhalten so

    sollte lieber, und wie gesagt der cache

    habe ich nur vergessen zu erwähnen.

    „If you can only do one thing, hone it to perfection. Hone it to the utmost limit!“ – Zenitsu Agatsuma

  • Nur mal gefragt, vielleicht hilft das ja. Aber hat das WCF nicht eine CLI Komponente?

    Kenne die jetzt nicht auswendig, aber wäre darüber vlt das Ein/Ausschalten des Wartungsmodus möglich?

    Projekte:

    XIVDATA - Eorzea Database

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Nur mal gefragt, vielleicht hilft das ja. Aber hat das WCF nicht eine CLI Komponente?

    Kenne die jetzt nicht auswendig, aber wäre darüber vlt das Ein/Ausschalten des Wartungsmodus möglich?

    Das wäre mir neu, wenn die das kann. Du hast das Problem jedoch mit der Automatisierung. Denn du brauchst für die CLI immer die Zugangsdaten, wenn ich es richtig in erinnerung habe.

    „If you can only do one thing, hone it to perfection. Hone it to the utmost limit!“ – Zenitsu Agatsuma

  • Das wäre mir neu, wenn die das kann. Du hast das Problem jedoch mit der Automatisierung. Denn du brauchst für die CLI immer die Zugangsdaten, wenn ich es richtig in erinnerung habe.

    Man könnte ja vielleicht das ganze über einen seperaten Benutzer lösen. Kenne wie gesagt die CLI von WCF nicht, arbeite ja selbst mit Laravel, nicht mit WCF :).

    Projekte:

    XIVDATA - Eorzea Database

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Hallo,

    unabhängig von der Diskussion über "technische Machbarkeit" würde ich diese Notwendigkeit gar nicht unbedingt so überbewerten.

    In aller Regel ist es für eine tägliche (genauer "nächtliche") Datensicherung doch gar nicht nötig, dazu in den Wartungsmodus zu gehen.

    Zumal dieser längst nicht alle Zugriffe verhindern kann.

    Wenn man wirklich effektiv einen befürchteten DB-Crash verhindern will, müsste man schon mit einem .htpasswd-Schutz arbeiten und wirklich ALLE Zugriffe auf Domain bzw. mindestens Einzel-Anwendung blockieren.

    Da aber automatisierte Hoster-Backups i.d.R. für den Kunden vom genauen Zeitraum her gar nicht einsehbar sind, müsste man diese "Sperrzeit" schon recht großzügig bemessen. Ansonsten ist das nur für Admins interessant, die selber per eigenem Cronjob sichern lassen.

    Und auch da ist das in aller Regel gar nicht erforderlich, da betroffene Tabellen ohnehin für den kurzen Moment "gelocked" werden und somit auch Schreibzugriffe verhindern. Ich habe in Jahrzehnten auf keiner von mir verantworteten Plattform jemals für Sicherungen den Zugriff verhindert (außer bei Server-Umzügen, Updates oder Software-Wechsel) und es gab deswegen bis heute nicht ein einziges Mal Probleme deswegen. Und ich sichere nahezu überall jede Nacht.

    Das Schlimmste, was bei einem (sehr unwahrscheinlichen) Crash wirklich passieren könnte, ist, dass man wenige Stunden an Daten verliert (wenn man regelmäßig sichert) und etwas Zeit für das Restore investieren müsste.

    Aber möchte man deswegen nächtliche User (und SuMa-Bots etc.) aussperren?

    Es kann zwar nicht schaden, wenn man kurz den Wartungsmodus aktiviert, aber für unbedingt erforderlich halte ich das aus den genannten Gründen nicht.

    Gruß

    Jörg

    (Jaydee)

  • Und auch da ist das in aller Regel gar nicht erforderlich, da betroffene Tabellen ohnehin für den kurzen Moment "gelocked" werden und somit auch Schreibzugriffe verhindern. Ich habe in Jahrzehnten auf keiner von mir verantworteten Plattform jemals für Sicherungen den Zugriff verhindert (außer bei Server-Umzügen, Updates oder Software-Wechsel) und es gab deswegen bis heute nicht ein einziges Mal Probleme deswegen. Und ich sichere nahezu überall jede Nacht. Das Schlimmste, was bei einem (sehr unwahrscheinlichen) Crash wirklich passieren könnte, ist, dass man wenige Stunden an Daten verliert (wenn man regelmäßig sichert) und etwas Zeit für das Restore investieren müsste.

    Das Risiko besteht nicht darin, eine Datenbank beim Sichern zu beschädigen, sondern darin keine konsistente Sicherung zu erhalten. ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!