File manager - Edit - /usr/local/CyberCP/plogical/rebuildQuotas.py
Back
import os,sys sys.path.append('/usr/local/CyberCP') import django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings") try: django.setup() except: pass import subprocess class rebuildQuotas: def __init__(self): pass def Rebuild(self): try: print("Fixing and rebuilding Quotas...") fstab_path = '/etc/fstab' rData = open(fstab_path, 'r').read() if rData.find('xfs') > -1: command = "mount | grep ' / '" try: qResult = subprocess.run(command, capture_output=True, universal_newlines=True, shell=True) except: qResult = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, shell=True) if qResult.stdout.find('usrquota') > -1: print("Looks like Quotas are enabled in filesystem, moving on..") else: print("Looks like Quotas are not enabled in filesystem, exiting.") print("Please follow this guide to enable Quotas on XFS file system: ") exit(1) else: command = "mount | grep quota" try: qResult = subprocess.run(command, capture_output=True, universal_newlines=True, shell=True) except: qResult = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, shell=True) if qResult.stdout.find('usrquota') > -1: print("Looks like Quotas are enabled in filesystem, moving on..") else: print("Looks like Quotas are not enabled in filesystem, exiting.") exit(1) from websiteFunctions.models import Websites for website in Websites.objects.all(): print(f"Rebuilding quotas for {website.domain}...") command = 'chattr -R -i /home/%s/' % (website.domain) try: qResult = subprocess.run(command, capture_output=True, universal_newlines=True, shell=True) except: qResult = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, shell=True) if website.package.enforceDiskLimits: spaceString = f'{website.package.diskSpace}M {website.package.diskSpace}M' command = f'setquota -u {website.externalApp} {spaceString} 0 0 /' print(command) try: qResult = subprocess.run(command, capture_output=True, universal_newlines=True, shell=True) except: qResult = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, shell=True) else: print(f"Ignored {website.domain} because the selected package does not enforce disk limits.") except: pass def main(): rbQ = rebuildQuotas() rbQ.Rebuild() if __name__ == "__main__": main()
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings