| Server IP : 101.53.144.229 / Your IP : 216.73.216.181 Web Server : Apache System : Linux host.gdigitalindia.in 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : digitalshiksha ( 1179) PHP Version : 5.6.40 Disable Function : eval,show_source,system,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,show_source,curl_multi_exechellcmd, ini_restore,apache_get_modules,get_cfg_var,passthru, exec ,proc_get_status,fpassthru,c999_buff_prepare,c999_sess_put,c99_buff_prepare,c99_sess_put,proc_close,ini_alter,dl,symlink,link,proc_close,ini_alter,dl,symlink,link,mail MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /scripts/ |
Upload File : |
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/cleanquotas 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::Logger ();
use Cpanel::SafeRun::Errors ();
use Cpanel::Quota::Clean ();
use Cpanel::Quota::Parse ();
use Cpanel::Binaries ();
my $logger = Cpanel::Logger->new();
$logger->info("Checking for orphaned quotas...");
my $REPQUOTA = Cpanel::Binaries::path('repquota');
-x $REPQUOTA or die "Cannot locate repquota";
my %seen;
for ( split /\n/, Cpanel::SafeRun::Errors::saferunallerrors( $REPQUOTA, '-av' ) ) {
if (
my ( $uid, $quota_line ) = m{
^ [#](\d+) \s+ # uid
\S+ \s+
( \d+ \s+ # used
\d+ \s+ # soft
\d+ .+ ) $ # everything else
}x
) {
my ( $device, $disk_used, $disk_limit, $files_used, $files_limit ) = Cpanel::Quota::Parse::parse_quota_line( '/dev/null ' . $quota_line );
next if !$disk_limit && !$files_limit; # no limits set
next if getpwuid($uid); # real user
next if $seen{$uid}++; # each affected uid will be fixed one time for all filesystems
Cpanel::Quota::Clean::zero_quota($uid);
$logger->info("Filesystem quota was defined for nonexistent user with uid $uid (fixed)");
}
}
$logger->info("Done.");