Cronjobs von MySQL Datenbank auslesen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
julian_st
Beiträge: 7
Registriert: 18.04.2006 21:09:37
Wohnort: Diepholz (NDS)
Kontaktdaten:

Cronjobs von MySQL Datenbank auslesen

Beitrag von julian_st » 18.04.2006 21:14:03

Hi,
ich habe Server, der recht viele Cronjobs zu bearbeiten hat. Diese Jobs werden außerdem relativ häufig geändert und daher ist das editieren der crontab recht umständlich, außerdem ist das sehr schlecht über PHP zu administrieren. Weiß jemand ob es ein Modul für Cron gibt, mit der man die einzelnen Jobs aus einer MySQL Datenbank auslesen kann, bzw. ob es ein vergleichbares Programm gibt, dass das kann?

Ich kann natürlich auch ein Script schreiben, das jede Minute geladen wird, aber das ist sehr unschön gelöst (vorallem da die MySQL Verbindungen ja immer neu hergestellt werden müssen).

MfG
Julian

(Edit: Sry bin neu hier, hab gerade gesehen das es ein Forum "Programm gesucht" gibt, hätte ich natürlich da rein gepostet)

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 19.04.2006 10:48:55

Also, bekannt ist mir da nichts, auf die Schnelle find ich da auch bei Google und Freshmeat nix.
Ein eigenes Skript, das die Jobs periodisch ausliest und daraus die crontab erzeugt ist sicher auch ok. Du musst ja nicht jede Minute die Datenbank abfragen, ob etwas neu ist.
Das reicht auch in nem groesseren Zeitabstand. Das mit der Mysql-Verbindung neu herstellen sollte eigentlich nicht so tragisch sein.

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 19.04.2006 21:55:05

möglicherweise ist das was für dich:

http://rubyforge.org/tracker/index.php? ... &atid=4133

Damit kannst, wenn die Beschreibung stimmt eine SQl-Datenbank als Dateisystem Mounten und Abfragen machen. Damit sollte es auch möglich sein Scripte aus der Datenbank aus zu lesen und zu starten.

Dazu wird aber fuse (filesystem in userspace) und ruby (sammt fusemodul) gebraucht.

Ich habe es jetzt nicht ausprobiert. Aber vielleicht hilft es dir. :-)

julian_st
Beiträge: 7
Registriert: 18.04.2006 21:09:37
Wohnort: Diepholz (NDS)
Kontaktdaten:

Beitrag von julian_st » 19.04.2006 22:57:48

nepos hat geschrieben: Das reicht auch in nem groesseren Zeitabstand. Das mit der Mysql-Verbindung neu herstellen sollte eigentlich nicht so tragisch sein.
Jo stimmt wohl, dann wirds kein Problem mit den MySQL Verbindungen sein. Werd mir das nochmal durch Kopf gehen lassen ;)
ToPeG hat geschrieben: Damit kannst, wenn die Beschreibung stimmt eine SQl-Datenbank als Dateisystem Mounten und Abfragen machen. Damit sollte es auch möglich sein Scripte aus der Datenbank aus zu lesen und zu starten.
finde die Lösung hört sich sehr Interessant an, werd mich mal genauer drüber informieren und mal schauen wie sich das realisieren lässt, oder ob sich der Aufwand nicht lohnt.


Mfg
Julian

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 19.04.2006 23:59:39

Es wäre schön, wenn du deine Erfahrungen posten würdest. Das könnte dann auch anderen helfen. :wink:

julian_st
Beiträge: 7
Registriert: 18.04.2006 21:09:37
Wohnort: Diepholz (NDS)
Kontaktdaten:

Beitrag von julian_st » 29.04.2006 18:11:55

So, nach einer kleinen Pause wegen zeitlichen Problemen hab ich mich mal wieder der Aufgabe gewidmet ;)

Kleiner Zwischenstand:
ToPeG hat geschrieben:möglicherweise ist das was für dich:

http://rubyforge.org/tracker/index.php? ... &atid=4133
[...]
Dazu wird aber fuse (filesystem in userspace) und ruby (sammt fusemodul) gebraucht.
Also ich hab jetzt Ruby 1.8 und Fuse 2.5 installiert. Leider gabts Probleme beim installieren des Fusemoduls, sodass ich leider an der Stelle hängengeblieben bin... Ich hab mal in deren Forum um Hilfe gebeten und hoffe, dass ich dort möglichst bald eine Antwort bekomme. Werde mich melden wenns was neues gibt ;)

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 29.04.2006 19:42:38

Ab dem 2.6.14 Linuxkernel ist fuse als Modul dabei und muss nurnoch mit "modprobe fuse" geladen werden (oder in /etc/modules eintragen)
Davor muß man sich die Souchen apt-geten und das Paket dann installieren. (der Rest ist gleich.)
Bei mir hat das kompilieren hin und wieder Probleme bereitet. (Wenn mal wieder eine neue Version von fuse da war.)
Ich benutze es bei mir für "CryptFS".
...um meine Prornosammlung zu schützen ;-)

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 30.04.2006 03:31:33

Ansonsten ruf halt per cron ein Perlscript auf, das die DB checkt und darin enthaltene Anweisungen ausführt ...

cu

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 30.04.2006 03:46:44

@niemand
Das Problem ist das ständige auf- und abbauen der Datenbankverbindung. Wenn das, wie von julian_st gewünscht, häufig (heißt für mich <2 min) passiert, dann kann es zu Problemen kommen, da z.B. nach jeder beendeten Verbinung ein refresch der Datenbank durchführt werden muß. Bei größeren Datenbanken (mehr ale 10.000 Datensätze) wird die Datenbank dadurch insgesammt merklich langsamer und kann sich mitunter auch "seltsam" verhalten. (Sponates benden der Verbindung, unvollständige Antworten, etc.)

DeletedUserReAsG

Beitrag von DeletedUserReAsG » 30.04.2006 14:12:41

Wenn in der entprechenden Datenbank mehr als 10k Sachen zum Abarbeiten liegen, werden die Probleme wohl nicht unbedingt an einem etwas langsamen Verbindungsaufbau liegen ;)
(Zumal der Verbindungsaufbau selbst mit der Größe der DB wenig zu tun hat, allenfalls die Queryzeiten dürften sich verlängern).
Bei größeren Datenbanken (mehr ale 10.000 Datensätze) wird die Datenbank dadurch insgesammt merklich langsamer und kann sich mitunter auch "seltsam" verhalten. (Sponates benden der Verbindung, unvollständige Antworten, etc.)
Wenn das bei deiner Datenbank der Fall ist, solltest du unbedingt deine Konfiguration überprüfen. Sowas darf nicht passieren, schließlich ist es die Aufgabe eines DBMS, größere Mengen an Daten(sätzen) vorzuhalten. Abruch der Verbindung oder unvollständige Antworten deutet auf Fehlkonfiguration hin.

cu

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 30.04.2006 14:31:35

Bei mir hatte mal ein Script, das sich ständig neu mit der Danbank verband und ein Menge Aktionen machte, diese Wirkung. (es war deutlich zu sehen, daß die Datenbank nicht hinter her kam wenn auch andere Verbindungen standen) Ich muß aber zugeben, daß das jetzt eine Weile her ist. Seitdem bin ich lieber etwas zu vorsichtig mit sowas.
Wenn du sagts, daß das kein Problem mehr ist, glaube ich dir das.

Antworten