Server : Apache System : Linux copper.netcy.com 2.6.32-754.27.1.el6.centos.plus.x86_64 #1 SMP Thu Jan 30 13:54:25 UTC 2020 x86_64 User : montcaro ( 581) PHP Version : 7.4.28 Disable Function : NONE Directory : /scripts/ |
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/cleanquotas Copyright 2013 cPanel, Inc. # 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::FindBin (); my $logger = Cpanel::Logger->new(); $logger->info("Checking for orphaned quotas..."); my $REPQUOTA = Cpanel::FindBin::findbin('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.");