mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Added authlog purge + improved efficiency of clearing out large syslog tables
This commit is contained in:
23
daily.php
23
daily.php
@@ -16,9 +16,21 @@ 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'])) {
|
||||||
if ( dbDelete('syslog', "timestamp < DATE_SUB(NOW(), INTERVAL ? DAY)", array($config['syslog_purge'])) ) {
|
$rows = dbFetchRow("SELECT MIN(seq) FROM syslog");
|
||||||
echo 'Syslog cleared for entries over ' . $config['syslog_purge'] . " days\n";
|
$loop = 1;
|
||||||
|
while($loop == 1) {
|
||||||
|
$limit = dbFetchRow("SELECT seq FROM syslog WHERE seq >= ? ORDER BY seq LIMIT 1000,1", array($rows));
|
||||||
|
if(empty($limit)) {
|
||||||
|
$loop = 0;
|
||||||
|
}
|
||||||
|
if ( dbDelete('syslog', "seq >= ? AND seq < ? AND timestamp < DATE_SUB(NOW(), INTERVAL ? DAY)", array($rows,$limit,$config['syslog_purge'])) > 0) {
|
||||||
|
$rows = $limit;
|
||||||
|
echo 'Syslog cleared for entries over ' . $config['syslog_purge'] . " days 1000 limit\n";
|
||||||
|
} else {
|
||||||
|
$loop = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
dbDelete('syslog', "seq >= ? AND timestamp < DATE_SUB(NOW(), INTERVAL ? DAY)", array($rows,$config['syslog_purge']));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( $options['f'] === 'eventlog') {
|
if ( $options['f'] === 'eventlog') {
|
||||||
@@ -28,5 +40,12 @@ if ( $options['f'] === 'eventlog') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ( $options['f'] === 'authlog') {
|
||||||
|
if ( is_numeric($config['authlog_purge'])) {
|
||||||
|
if ( dbDelete('authlog', "datetime < DATE_SUB(NOW(), INTERVAL ? DAY)", array($config['authlog_purge'])) ) {
|
||||||
|
echo 'Authlog cleared for entries over ' . $config['authlog_purge'] . " days\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
1
daily.sh
1
daily.sh
@@ -7,3 +7,4 @@ fi
|
|||||||
|
|
||||||
php daily.php -f syslog
|
php daily.php -f syslog
|
||||||
php daily.php -f eventlog
|
php daily.php -f eventlog
|
||||||
|
php daily.php -f authlog
|
||||||
|
|||||||
@@ -572,6 +572,7 @@ $config['update'] = 1;
|
|||||||
# Purge syslog and eventlog
|
# Purge syslog and eventlog
|
||||||
$config['syslog_purge'] = 30; # Number in days of how long to keep syslog entries for.
|
$config['syslog_purge'] = 30; # Number in days of how long to keep syslog entries for.
|
||||||
$config['eventlog_purge'] = 30; # Number in days of how long to keep eventlog entries for.
|
$config['eventlog_purge'] = 30; # Number in days of how long to keep eventlog entries for.
|
||||||
|
$config['authlog_purge'] = 30; # Number in days of how long to keep authlog entries for.
|
||||||
|
|
||||||
# Date format for PHP date()s
|
# Date format for PHP date()s
|
||||||
$config['dateformat']['long'] = "r"; # RFC2822 style
|
$config['dateformat']['long'] = "r"; # RFC2822 style
|
||||||
|
|||||||
Reference in New Issue
Block a user