Mini Shell

Direktori : /scripts/
Upload File :
Current File : //scripts/oopscheck

#!/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";
}

Zerion Mini Shell 1.0