Aquariophile: -> (MySQL) Cronjobs, .htaccess, DNS, POP-Daten verwalten

Hallo!

Eine Möglichkeit,
Username/Password für FTP in einer SQL-Tabelle
zu verwalten fand ich bereits (ProFTPd)
(Danke Christian)

Nun hab ich aber das Problem wie ich Cronjobs in MySQL
regeln kann.

Die normalen Datafiles sind nicht ok
wegen des filelocking problems.

Das ganze läuft ja automatisiert über scripts.

Gut, die andere Möglichkeit währe,
per Cronjob ein von mir programmiertes Script JEDE Minute 1x aufzurufen,
und dieses Script schaut dann, 1 mal / Minute in eine MySQL-Tabelle,
ob dort scripte für diese Uhrzeit definiert sind die es auszuführen gilt.

Das einzige Problem:
1 mal / Minute ist meiner Meinung nach SEHR Systembelastend.

Frage:

  1. Macht das crontab mit datafiles anders,
       oder werden die auch 1x / Minute gecheckt um zu sehen
       ob die Uhrzeit grad stimmt?

Wenn ja, dann kann ichs mit oben genannter Methode über
   MySQL ja auch machen.

  1. Ist das brauchbar??
    (@ Script 1x /minute -> MySQL-Tabelle checken -> definierte Scripte ausführen)

  2. Wie könnte man das anders besser machen?

----

Sonstiges:

Wie kann ich die .htaccess files,
sowie die DNS Daten,
und POP3 username / Password in MySQL verwalten bitte??

DANKE!
Aquariophile

  1. Gut, die andere Möglichkeit währe,
    per Cronjob ein von mir programmiertes Script JEDE Minute 1x aufzurufen,
    und dieses Script schaut dann, 1 mal / Minute in eine MySQL-Tabelle,
    ob dort scripte für diese Uhrzeit definiert sind die es auszuführen gilt.

    Das einzige Problem:
    1 mal / Minute ist meiner Meinung nach SEHR Systembelastend.

    eigentlich nicht ein Zeitvergleich sollte sehr schnell laufen.

    Frage:

    1. Macht das crontab mit datafiles anders,
         oder werden die auch 1x / Minute gecheckt um zu sehen
         ob die Uhrzeit grad stimmt?

    ja genau.

    Wenn ja, dann kann ichs mit oben genannter Methode über
       MySQL ja auch machen.

    eigentlich ja.

    1. Ist das brauchbar??
      (@ Script 1x /minute -> MySQL-Tabelle checken -> definierte Scripte ausführen)
    1. Wie könnte man das anders besser machen?

    das machen viele so. Ich habe schon grosse Installationen mit
    tausenden solcher DB-Crons gesehen. Das Problem kommt erst
    im nächsten Schritt, wenn die durch das Script angestossene
    Aktion läuft und diese sehr lange braucht und viele Resourcen
    benötigt. Dann kann sich das bei vielen zeitlich nahen jobs
    ganz schön aufschaukeln.
    Dann ist profiling gefragt. Evtl. erst mal nur einen
    "snapshot" der zu diesem Zeitpunkt gültigen und notwendigen Daten
    in  Hilfstabellen ablegen (das kann sehr schnell gehen je nach
    DB-Design) und dann irgendwann wenn genügend Resourcen zur
    Verfügung stehen die komplexeren Dinge mit diesen gespeicherten
    Daten machen.

    viel Glück
    Armin


  2. Hi,

    Nun hab ich aber das Problem wie ich Cronjobs in MySQL
    regeln kann.
    Die normalen Datafiles sind nicht ok
    wegen des filelocking problems.

    Da jede Benutzerkennunh ohnehin nur eine einzige crontab besitzt,
    wüßte ich nicht, wie sich zwei Benutzer um diese streiten können.

    Gut, die andere Möglichkeit währe,
    per Cronjob ein von mir programmiertes Script JEDE Minute 1x
    aufzurufen, und dieses Script schaut dann, 1 mal / Minute in
    eine MySQL-Tabelle, ob dort scripte für diese Uhrzeit definiert
    sind die es auszuführen gilt.

    Schauerlich schlecht und sehr inperformant.

    Das einzige Problem:
    1 mal / Minute ist meiner Meinung nach SEHR Systembelastend.

    Richtig. Und warum? Was genau ist so teuer? Wenn Du Dir das überlegst, kommst Du sofort auf die nageliegende Verbesserung.

    1. Macht das crontab mit datafiles anders,
         oder werden die auch 1x / Minute gecheckt um zu sehen
         ob die Uhrzeit grad stimmt?

    Ich habe den Quelltext von cron (nicht crontab!) nicht gelesen, aber ich bin sicher, er macht es anders.
    cron ist ein daemon ... warum wohl? Und was tut crontab, um mit ihm zu kommunizieren?

    Wenn ja, dann kann ichs mit oben genannter Methode über
       MySQL ja auch machen.

    Du kannst in der Tat das Funktionsprinzip von cron übernehmen, ja.

    (@ Script 1x /minute -> MySQL-Tabelle checken -> definierte Scripte
    ausführen)
    3) Wie könnte man das anders besser machen?

    Indem Du mehr cachest und Änderungen der Umwelt nicht pollst, sondern sie Dir via Events mitteilen läßt.

    Viele Grüße
          Michael