MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 3.133.124.161
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/enable_sqloptimizer
#!/usr/local/cpanel/3rdparty/bin/perl

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

use Cpanel::SafeRun::Errors          ();
use Cpanel::MysqlUtils::SlowQueryLog ();
use Cpanel::Config::CpConfGuard      ();
use Cpanel::TempFile                 ();

setupsqloptimizercrontab();

Cpanel::MysqlUtils::SlowQueryLog::enable();

my $cpconf = Cpanel::Config::CpConfGuard->new();
if ( !$cpconf->{'data'}->{'sqloptimizer'} ) {
    $cpconf->{'data'}->{'sqloptimizer'} = 1;
    $cpconf->save();
}

sub setupsqloptimizercrontab {
    my $has_sqloptimizer = 0;
    my @CT               = grep( !/^#/, split( /\n/, Cpanel::SafeRun::Errors::saferunnoerror( 'crontab', '-l' ) ) );
    if ( grep( /sqloptimizer/, @CT ) ) { $has_sqloptimizer = 1; }
    if ( !$has_sqloptimizer ) {
        @CT = grep( !/sqloptimizer/, @CT );
        push( @CT, "12 5 * * * /usr/local/cpanel/bin/sqloptimizer >/dev/null 2>&1" );
        my $tmp_obj      = Cpanel::TempFile->new();
        my $tmp_filename = $tmp_obj->file();
        if ( $tmp_filename && open( my $cr_fh, ">", $tmp_filename ) ) {
            print {$cr_fh} join( "\n", @CT ) . "\n";
            close($cr_fh);
            system 'crontab', $tmp_filename;
        }
        else {
            die "Unable to write crontab temporary file";
        }
    }
    return 1;
}

MMCT - 2023