Server : Apache System : Linux server1.cgrithy.com 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64 User : nobody ( 99) PHP Version : 8.1.23 Disable Function : NONE Directory : /scripts/ |
#!/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"; }