einfacher linu C-server für mysql verarbeitung
-
guten tag zusammen wie man aus dem titel lesen kann brauche ich eine einfache anwendung welche nur einige sql qrys ausführt in bestimmen zeit abschnitten das ganze dient als db cleanup zum bereinigen der datenbank usw
die app sollte
einige qrys in 5min, 20min, 12h, 24h, 1m interval ausführen z.b. sowas
(12h) $deadtime = time() - $GLOBALS["SIGNUP_TIMEOUT"] * 3600; mysql_query("DELETE FROM users WHERE status = 'pending' AND added < FROM_UNIXTIME($deadtime) AND last_login < FROM_UNIXTIME($deadtime) AND last_access < FROM_UNIXTIME($deadtime)"); (20min) $user = get_row_count("users", "WHERE status='enabled'"); mysql_query("UPDATE avps SET value_u=$user WHERE arg='user'") or sqlerr(__FILE__, __LINE__); (24h) $res = mysql_query("SELECT `modcomments`.`userid` AS `id` FROM `modcomments` LEFT JOIN `users` ON `modcomments`.`userid`=`users`.`id` WHERE `users`.`id` IS NULL"); $idlist = ""; while ($id = mysql_fetch_assoc($res)) { if ($idlist != "") $idlist .= ","; $idlist .= $id["id"]; } if ($idlist != "") mysql_query("DELETE FROM `modcomments` WHERE `userid` IN ($idlist)");da die seite ziemlich groß ist und viele datensätze hat is die server last ziemlich hoch da php das ganze atm noch macht
wäre super wenn mir jemand sowas basteln könnte und den src posten da ich das ganze noch erweitern werde um die restlichen mysql abfragen
-
coty schrieb:
da die seite ziemlich groß ist und viele datensätze hat is die server last ziemlich hoch da php das ganze atm noch macht
PHP schickt nur die Queries ab, die Änderungen werden vom MySQL-Server durchgeführt und der ist in C geschrieben (also schnell genug).
coty schrieb:
wäre super wenn mir jemand sowas basteln könnte und den src posten da ich das ganze noch erweitern werde um die restlichen mysql abfragen
Dazu sind eigentlich Cron-Jobs gedacht. Einfach:
crontab -eim Terminal eingeben und deine Jobs eintragen, z. B.:
# alle 5 Minuten */5 * * * * php5-cli dein-script1.php # alle 20 Minuten */20 * * * * php5-cli dein-script2.php # alle 12 Stunden * */12 * * * php5-cli dein-script3.php # alle 24 Stunden (immer in der 0. Stunde des Tages) * 0 * * * php5-cli dein-script4.php # jeden Monat (immer am 1. Tag des Monats) * * 1 * * php5-cli dein-script5.php(Für weitere Infos zu Cron gibts den alten Freund Google...
)
-
devkid schrieb:
(Für weitere Infos zu Cron gibts den alten Freund Google...
)Ich finde auch man: crontab(5) recht hilfreich.
-
Dieser Thread wurde von Moderator/in nman aus dem Forum Linux/Unix in das Forum Themen rund um den PC verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
naja ne das problem dabei is das die schleifen die durch php erzeugt werden sehr groß sind da viele daten verarbeitet werden... danke mit crons kenne ich mich aber aus^^ wollte den weg mit den crons nicht gehen... aber bleibt mir ja wohl nichts anderes übrig
danke