parent
c11d330c38
commit
18447dbf21
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue