MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 18.221.68.196
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /../scripts/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //../scripts/biglogcheck
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/biglogcheck                     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;

use Cpanel::ConfigFiles::Apache ();

my $apacheconf = Cpanel::ConfigFiles::Apache->new();

my $msg;
my @logdirs = (
    $apacheconf->dir_domlogs(),
    $apacheconf->dir_logs(),
    '/usr/local/cpanel/logs',
    '/var/log',
);

foreach my $logdir (@logdirs) {
    if ( -d $logdir ) {
        open( DU, "du -La $logdir |" );
        while (<DU>) {
            my ( $size, $file ) = split( /\s+/, $_ );
            if ( $size > 1650000 ) {
                next if $file =~ m/\.(?:gz|bz2|tar|zip)$/;
                next if -d $file;
                my $nicesize = ( $size / 1024 );
                $msg .= "$file ($nicesize Megs)\n";
            }
        }
        close(DU);
    }
}

if ($msg) {
    my $message = <<"EOM";

The following log files are near the 2 gigabyte file limit.
You should recycle them or remove them to prevent Apache from
getting SIGXFSZ (File Size Exceeded)


=======================================================

$msg

EOM
    require Cpanel::Notify;
    Cpanel::Notify::notification_class(
        'class'            => 'Check::Biglog',
        'application'      => 'Check::Biglog',
        'constructor_args' => [
            'origin'       => 'biglogcheck',
            'attach_files' => [ { 'name' => 'big_log.txt', 'content' => \$msg } ]
        ]
    );

    if ( $ARGV[0] eq '-v' ) {
        print $message;
    }
}

MMCT - 2023