Server IP : 192.168.23.10  /  Your IP : 18.217.118.156
Web Server : Apache
System : Linux echo.premieradvertising.com 5.14.0-362.8.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 7 14:54:22 EST 2023 x86_64
User : rrrallyteam ( 1049)
PHP Version : 8.1.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /scripts/

[  Home  ][  C0mmand  ][  Upload File  ]

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

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

#
# This script auto repairs quotas when they become severely corrupted.

use strict;
use Cpanel::Binaries ();

my $repquota_cmd = Cpanel::Binaries::path('repquota');
if ( !-x $repquota_cmd ) {
    print "Unable to locate repquota command.\n";
    exit 1;
}

my $broken = 0;
my $signal = 0;
my $zpid   = open READCHLD, '-|';
if ($zpid) {
    while (<READCHLD>) {
        if (/^quota_auto_fix signal: (\d+)/) {
            $signal = $1;
        }
        elsif (/has wrong format/i) {
            print;
            $broken = 1;
        }
        elsif (/Quota file not found/i) {
            print;
            $broken = 1;
        }
    }
}
else {
    open STDERR, ">&STDOUT";
    system $repquota_cmd, '-a';
    my $rsignal = ( $? & 127 );
    print "quota_auto_fix signal: $rsignal\n";
    exit 0;
}

if ($broken) {
    system '/usr/local/cpanel/scripts/fixquotas';
}
elsif ( $signal == 11 ) {
    print "repquota exited with signal 11 ... rebuilding quota databases.\n";
    system '/usr/local/cpanel/scripts/fixquotas';
}
else {
    print "quota test: check passed\n";
}