1#!/usr/local/bin/php 2<?php 3 chdir(dirname($argv[0])); 4 require("../libraries/banshee.php"); 5 6 $db = new MySQLi_connection(DB_HOSTNAME, DB_DATABASE, DB_USERNAME, DB_PASSWORD); 7 if ($db->connected == false) { 8 exit("Internal error: database not available.\n"); 9 } 10 11 $date = date("Y-m-d", strtotime("-".MONITOR_DAYS." days")); 12 13 /* Actions 14 */ 15 $query = "delete from events where timestamp<%s"; 16 if ($db->query($query, $date) == false) { 17 exit("Error deleting events.\n"); 18 } 19 20 /* Server statistics 21 */ 22 $query = "delete from server_statistics where date<=%s"; 23 if ($db->query($query, $date) == false) { 24 exit("Error deleting server statistics.\n"); 25 } 26 27 /* Host statistics 28 */ 29 $query = "delete from host_statistics where date<=%s"; 30 if ($db->query($query, $date) == false) { 31 exit("Error deleting host statistics.\n"); 32 } 33 34 /* CGI statistics 35 */ 36 $query = "delete from cgi_statistics where date<=%s"; 37 if ($db->query($query, $date) == false) { 38 exit("Error deleting CGI statistics.\n"); 39 } 40 41 /* Unsed hostnames 42 */ 43 $query = "select id from hostnames h where ". 44 "(select count(*) from host_statistics where hostname_id=h.id)=0 and ". 45 "(select count(*) from cgi_statistics where hostname_id=h.id)=0"; 46 if (($ids = $db->execute($query)) === false) { 47 exit("Error deleting unused hostnames.\n"); 48 } 49 50 if (($count = count($ids) > 0)) { 51 $params = implode(", ", array_fill(0, $count, "%d")); 52 53 $query = "delete from hostnames where id in (".$params.")"; 54 if ($db->query($query, $ids) == false) { 55 exit("Error deleting unused hostnames.\n"); 56 } 57 } 58?> 59