-> (MySQL) Cronjobs, .htaccess, DNS, POP-Daten verwalten
Aquariophile
- datenbank
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:
Wenn ja, dann kann ichs mit oben genannter Methode über
MySQL ja auch machen.
Ist das brauchbar??
(@ Script 1x /minute -> MySQL-Tabelle checken -> definierte Scripte ausführen)
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
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:
- 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.
- Ist das brauchbar??
(@ Script 1x /minute -> MySQL-Tabelle checken -> definierte Scripte ausführen)
- 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
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.
- 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