Fix: Mailbox Stats über Dovecot mit config/mailpool.php

main v1.0.56
boban 2025-10-26 18:57:23 +01:00
parent c11d330c38
commit 18447dbf21
2 changed files with 19 additions and 5 deletions

View File

@ -39,14 +39,27 @@ class SpamAvCollectCommand extends Command
$rspamdVer = trim(@shell_exec("dpkg-query -W -f='\${Version}\n' rspamd 2>/dev/null") ?? '');
}
// $clamLine = trim(@shell_exec('clamd --version 2>/dev/null || clamscan --version 2>/dev/null') ?? '') ?: '';
// $clamVer = $clamLine;
//
// // Versuch, Datum aus der Versionzeile zu ziehen (kein Zugriff auf freshclam.log nötig)
// $sigUpdated = null;
// if (preg_match('#/([^/]+ [0-9]{2} [0-9:]{8} [0-9]{4})$#', $clamLine, $m)) {
// $sigUpdated = $m[1]; // z.B. "Sun Oct 26 09:42:43 2025"
// }
// --- CLAMAV: Versionzeile inkl. Signaturdatum ausgeben ---
$clamLine = trim(@shell_exec('clamd --version 2>/dev/null || clamscan --version 2>/dev/null') ?? '') ?: '';
$clamVer = $clamLine;
// Versuch, Datum aus der Versionzeile zu ziehen (kein Zugriff auf freshclam.log nötig)
$parts = explode('/', $clamLine, 3);
$clamVer = $parts[0] ?? 'ClamAV';
if (isset($parts[1])) {
$clamVer .= ' ' . $parts[1];
}
$sigUpdated = null;
if (preg_match('#/([^/]+ [0-9]{2} [0-9:]{8} [0-9]{4})$#', $clamLine, $m)) {
$sigUpdated = $m[1]; // z.B. "Sun Oct 26 09:42:43 2025"
if (isset($parts[2])) {
$sigUpdated = trim($parts[2]);
} else {
// Fallback: journalctl (falls Gruppe adm)
$jl = trim(@shell_exec('journalctl -u freshclam -n 50 --no-pager 2>/dev/null | grep -i "Database updated" | tail -n1') ?? '');
@ -64,7 +77,7 @@ class SpamAvCollectCommand extends Command
];
Setting::set('spamav.metrics', $data);
Cache::put('dash.spamav', $data, 60);
Cache::put('dash.spamav', $data, now()->addMinutes(10));
$this->info(sprintf(
'ham=%d spam=%d reject=%d | rspamd=%s | clam=%s',

View File

@ -11,6 +11,7 @@ Artisan::command('inspire', function () {
Schedule::job(RunHealthChecks::class)->everyFiveMinutes()->withoutOverlapping();
Schedule::command('spamav:collect')->everyFiveMinutes()->withoutOverlapping();
//Schedule::command('woltguard:collect-services')->everyMinute();
//Schedule::command('mailwolt:check-updates')->dailyAt('04:10');
Schedule::command('mailwolt:check-updates')->everytwoMinutes();