Zeitsteuerung von php-Scripten
dailynight
- php
Hallo an alle,
ich habe hier schon viel gelernt und möchte daher ein aktuelles Problem schildern.
Auf einem Managed Server sollen via Cronjob alle Domains und Datenbanken gesichert werden. Die Problematik wird schnell offensichtlich. Der Server kann nicht alle Domains gleichzeitig sichern. Das würde den Server überlasten. Für jede Domain einen Cronjob einrichten ist auch nicht gerade der Knaller. Sinnvoller wäre es, die Sicherung zeitgesteuert auszuführen (vorwiegend nachts), und über ein Backend zu verwalten.
Folgendes Vorgehen habe ich mir überlegt (kann gerne diskutiert werden): Alle erforderlichen Zugangsdaten liegen in einer Datenbank. Dazu kommen einige Felder zur Zeitsteuerung und eine Variable booleen. Cronjob wirft alle 15 Minuten das Script an. Das Script überprüft in der Datenbank, ob ein passender Zeitstempel zur aktuellen Zeit hinterlegt worden ist. Zu sichernde Domains werden auf true gesetzt. Diese kann das Script dann gemütlich nacheinander abarbeiten. Sofern es denn überhaupt mehrere sind.
Vorgesehen sind drei Sicherungsversuche. Kann das Script aus irgendeinem Grund nicht Sichern, wird eine Email an mich versandt.
Das meiste davon habe ich bereit umgesetzt. Was mir fehlt ist die Steuerung der Zeitangaben. Sowas habe ich noch nie gemacht. Viele werden die Zeitsteuerung von der Bedienung der Cronjobs her kennen. Mögliche Einstellungen sind: "monatlich", "täglich" oder "stündlich" eingegeben werden, sogar die Vergabe einer Uhrzeit ist möglich, getrennt in Stunden und Minuten. Ist hierzu schon ein Script verfügbar? Wenn nicht, wie gehe ich die Programmierung am Besten an? Es wird wahrscheinlich if-else-Schleifen Hageln, oder?
Wer einen Vorschlag oder auch nur einen Ansatz hat, bitte her damit. Aber schön laaaangsam schreiben, damit ich es auch kapiere. Wie gesagt ich habe sowas noch nie gemacht. Danke schon mal an alle...
Liebe(r) dailynight,
Der Server kann nicht alle Domains gleichzeitig sichern. Das würde den Server überlasten.
und was spricht dagegen, dass Du Dir eine Schleife baust, in der alle Domains _nacheinander_ gesichert werden? Wenn Dein Cronjob Dein Script genau einmal täglich startet (z.B. um 3.15 Uhr nachts), dann kann Dein Script doch gemütlich durch alle Domains wandern und brav eine jede für sich sichern, oder nicht?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Nicht alle Domains müssen auch gleich gesichert werden. Im Grundsatz sieht das so aus: Sicherung der ftp-Daten, dann Sicherung der Datenbank(en). Gerade die Datenbanken müssen bei einigen Domains Stündlich gesichert werden. Andere nur einmal die Woche und auch ftp-Daten ändern sich bei weitem nicht so oft.
Der Server läuft noch unter einem alten Vertrag und ist damit sehr günstig. Es gibt keine Domainbegrenzung, d.h. die Aufnahme der Domains wird nur durch die Leistung des Systems begrenzt. Je recourcenschonender die vorhandenen Scripts laufen, desto höher die Serverleistung (hust...irgendwie logisch). Damit kann er auch erheblich mehr Domains verwalten.
Da es sich um einige Accounts handelt, möchte ich die Backups frei zuteilen können. Die Erfahrung hat gezeigt, dass gerade im Bereich Backup nur Sicherheit zu garantieren ist, wenn Backuplösungen benutzerfreundlich und unkompliziert sind.
Eine Auflistung der Domains mit ein paar Postfeldern dürfte doch eigentlich kein Problem darstellen. Ich hab's nur selbst noch nie gemacht.
Sollte das System so funktionieren, wäre es nicht nur sehr komfortabel, sondern es würde auch die Datensicherheit erhöhen. Das wäre ein System, welches auch über ein schmales Backend, noch flexibel an die Gegebenheiten angepasst werden kann.
Sollte sich herausstellen, dass ich zu viel möchte, werde ich das akzeptieren müssen. Aber noch bin ich nicht bereit aufzugeben.
Trotzdem Danke für Deinen Vorschlag, qeuerdenken kann niemals schaden. Der Vorschlag von Dir wäre also Plan B...
Für eine Backendverwaltung habe ich hier mal ein Beispiel zur Verfügung gestellt. Es handelt sich hier um die klassische Darstellung eines Backends für Zeitvorgaben. Eventuell wird damit der Fall noch etwas deutlicher.
http://www.berkedesign.com/zeitscript.jpg (Konnte den Link leider nicht in HTML hinterlegen)
Im Übrigen finde ich die Struktur nicht besonders gelungen. Es wäre wahrscheinlich wesentlich übersichtlicher, wenn das alles Falloutmenüs wären, die nach Bedarf und Funktion ein- bzw. ausgeblendet werden.
Pro Domain sollte sie zweimal verfügbar sein. Einmal für ftp-Backups und einmal für Datenbank-Backups.
Das ganze sollte als Tabelle aufgelistet werden. Auf der linken Seite Domain und Datenbank, rechts die entsprechenden Einstellungen.
PS.: Kann man in diesem Forum auch Links im Text darstellen?
PS.: Kann man in diesem Forum auch Links im Text darstellen?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Ahh...vielen Dank.
Also hier das Beispiel: