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") ?? '–');
|
$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 ---
|
// --- CLAMAV: Versionzeile inkl. Signaturdatum ausgeben ---
|
||||||
$clamLine = trim(@shell_exec('clamd --version 2>/dev/null || clamscan --version 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)
|
$parts = explode('/', $clamLine, 3);
|
||||||
|
$clamVer = $parts[0] ?? 'ClamAV';
|
||||||
|
if (isset($parts[1])) {
|
||||||
|
$clamVer .= ' ' . $parts[1];
|
||||||
|
}
|
||||||
|
|
||||||
$sigUpdated = null;
|
$sigUpdated = null;
|
||||||
if (preg_match('#/([^/]+ [0-9]{2} [0-9:]{8} [0-9]{4})$#', $clamLine, $m)) {
|
if (isset($parts[2])) {
|
||||||
$sigUpdated = $m[1]; // z.B. "Sun Oct 26 09:42:43 2025"
|
$sigUpdated = trim($parts[2]);
|
||||||
} else {
|
} else {
|
||||||
// Fallback: journalctl (falls Gruppe adm)
|
// 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') ?? '');
|
$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);
|
Setting::set('spamav.metrics', $data);
|
||||||
Cache::put('dash.spamav', $data, 60);
|
Cache::put('dash.spamav', $data, now()->addMinutes(10));
|
||||||
|
|
||||||
$this->info(sprintf(
|
$this->info(sprintf(
|
||||||
'ham=%d spam=%d reject=%d | rspamd=%s | clam=%s',
|
'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::job(RunHealthChecks::class)->everyFiveMinutes()->withoutOverlapping();
|
||||||
Schedule::command('spamav:collect')->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')->dailyAt('04:10');
|
||||||
Schedule::command('mailwolt:check-updates')->everytwoMinutes();
|
Schedule::command('mailwolt:check-updates')->everytwoMinutes();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue