Siebenschläfer
Ich betreibe eine Community und lösche da jeweils alle Accounts, welche sich 30 Tage nicht eingeloggt haben. Ich nutze dafür ein Skript, das einmal am Tag von einem Cronjob aufgerufen wird, der das überprüft. Das Skript sieht im wesentlichen so aus:
Gestern dann der Schock: Irgendwie wurden alle Accounts gelöscht die in den letzten (ich glaube zwölf) Stunden nicht aktiv waren, was ne ziemlich grosse Menge war. Das war aber bereits 2 Tage nach Jahreswechsel. Könnte das trotzdem was mit dem zu tun haben? Oder was könnte das sonst sein? Die Löschung muss durch dieses File durchgeführt worden sein, da aus genau diesen Tabellen in der DB gelöscht wurde, die in dieser Tabelle erwähnt sind. Allerdings habe ich diese Datei seit ca einem halben Jahr nicht mehr geändert und es gab nie Probleme.
Im Feld "online" in der DB wird übrigens jeweils beim login der aktuelle mktime() eingetragen.
Hat einer ne Idee?
grüsse sharky
PHP:
$zeit = mktime() - 2592000; // 2592000 entspricht 30 Tagen in Sekunden.
$sql = mysql_query("SELECT
name
FROM
profil
WHERE
online < '$zeit' ");
while($account = mysql_fetch_assoc($sql))
{
$name = $account["name"];
mysql_query("DELETE FROM
XXX
WHERE
name = '$name'");
mysql_query("DELETE FROM
YYY
WHERE
name = '$name'");
(...)
}
Im Feld "online" in der DB wird übrigens jeweils beim login der aktuelle mktime() eingetragen.
Hat einer ne Idee?
grüsse sharky