Updated the syslog loop to break when no more data can be deleted

This commit is contained in:
Neil Lathwood
2014-10-07 19:28:18 +00:00
parent 8e00599d2a
commit cdf199a2dd
+2 -3
View File
@@ -17,17 +17,16 @@ if ( $options['f'] === 'update') { echo $config['update']; }
if ( $options['f'] === 'syslog') { if ( $options['f'] === 'syslog') {
if ( is_numeric($config['syslog_purge'])) { if ( is_numeric($config['syslog_purge'])) {
$rows = dbFetchRow("SELECT MIN(seq) FROM syslog"); $rows = dbFetchRow("SELECT MIN(seq) FROM syslog");
$loop = 1;
while($loop == 1) { while($loop == 1) {
$limit = dbFetchRow("SELECT seq FROM syslog WHERE seq >= ? ORDER BY seq LIMIT 1000,1", array($rows)); $limit = dbFetchRow("SELECT seq FROM syslog WHERE seq >= ? ORDER BY seq LIMIT 1000,1", array($rows));
if(empty($limit)) { if(empty($limit)) {
$loop = 0; break;
} }
if ( dbDelete('syslog', "seq >= ? AND seq < ? AND timestamp < DATE_SUB(NOW(), INTERVAL ? DAY)", array($rows,$limit,$config['syslog_purge'])) > 0) { if ( dbDelete('syslog', "seq >= ? AND seq < ? AND timestamp < DATE_SUB(NOW(), INTERVAL ? DAY)", array($rows,$limit,$config['syslog_purge'])) > 0) {
$rows = $limit; $rows = $limit;
echo 'Syslog cleared for entries over ' . $config['syslog_purge'] . " days 1000 limit\n"; echo 'Syslog cleared for entries over ' . $config['syslog_purge'] . " days 1000 limit\n";
} else { } else {
$loop = 0; break;
} }
} }
dbDelete('syslog', "seq >= ? AND timestamp < DATE_SUB(NOW(), INTERVAL ? DAY)", array($rows,$config['syslog_purge'])); dbDelete('syslog', "seq >= ? AND timestamp < DATE_SUB(NOW(), INTERVAL ? DAY)", array($rows,$config['syslog_purge']));