#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/oopscheck Copyright 2022 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited use strict; my $inoops = 0; my @DMESG = split( /\n/, `dmesg` ); my $oops = ''; foreach (@DMESG) { s/[\n\r]//g; if ( /^EIP/ || ( ( /invalid operand: /i || /Unable to handle/i ) && !/^PCI/ ) ) { $inoops = 1; } if ($inoops) { $oops .= $_ . "\n"; } if (/^code:/i) { $inoops = 0; } } # Uncomment to test # $oops = "test"; if ( length $oops ) { require Cpanel::Notify; Cpanel::Notify::notification_class( 'class' => 'Check::Oops', 'application' => 'Check::Oops', 'constructor_args' => [ 'origin' => 'oopscheck', 'attach_files' => [ { 'name' => 'oops_log.txt', 'content' => \$oops } ], ] ); print "Oops detected .. sent email\n"; }