/opt/dedrads
NameSizeModeActions
account_review/-0555rm
check_software_mods/-0555rm
cms_tools/-0555rm
etc/-0555rm
extras/-0555rm
mailparse/-0555rm
mysql/-0555rm
nlp_scripts/-0555rm
oldrads/-0555rm
perl/-0555rm
provision/-0555rm
python/-0555rm
suspended/-0555rm
__pycache__/-0555rm
account-review7990555editdlrm
allfw62590555editdlrm
alp.py165530555editdlrm
autossl_sync62670555editdlrm
check_apache92050555editdlrm
check_bandwidth45460555editdlrm
check_boxtrapper16840555editdlrm
check_cpu122120555editdlrm
check_crons18270555editdlrm
check_dcpumon19730555editdlrm
check_dns18270555editdlrm
check_domlogs610555editdlrm
check_exim37310555editdlrm
check_hacks226040555editdlrm
check_imap52490555editdlrm
check_io66350555editdlrm
check_max_children163410555editdlrm
check_mem16600555editdlrm
check_misc15100555editdlrm
check_pacct52010555editdlrm
check_php43440555editdlrm
check_pop322950555editdlrm
check_prov.py47140555editdlrm
check_server6960555editdlrm
check_size4900555editdlrm
check_software98490555editdlrm
check_spamd24260555editdlrm
check_traffic19330555editdlrm
check_user18870555editdlrm
clean_exim.py63900555editdlrm
clusterfix53430555editdlrm
cmspass.py39700555editdlrm
cms_check.py98250555editdlrm
cms_counter.py367340555editdlrm
cms_creds7130555editdlrm
cms_dumpdb44850555editdlrm
cms_pw14160555editdlrm
cpanel-api70400555editdlrm
cpanel_postgres_manager.py290040555editdlrm
cpmerge46310555editdlrm
cpumon21950555editdlrm
dcpumon.pl12390555editdlrm
dedcheck181270555editdlrm
dns-sync143860555editdlrm
docroot.py44250555editdlrm
du-tree74500555editdlrm
envinfo.py66330555editdlrm
exclude_rbl.py52490555editdlrm
extract-vhost26910555editdlrm
filescan35660555editdlrm
find_warez14600555editdlrm
first_setup.py191200555editdlrm
fixwpcron.py48220555editdlrm
fix_dns_cluster3530555editdlrm
goaccess12177200555editdlrm
hostsfilemods44670555editdlrm
imap_io23230555editdlrm
innodb_converter.py93430555editdlrm
killall9115300555editdlrm
killdns9410555editdlrm
lastcommcache.sh13740555editdlrm
legal_lock_down.sh74500555editdlrm
lil-cpanel520020555editdlrm
listacct45750555editdlrm
mailscan45440555editdlrm
mail_sources.py74070555editdlrm
megaclisas-status386640555editdlrm
migrate2central.sh144180555editdlrm
modify-account406310555editdlrm
modsec_disable.py114610555editdlrm
monarxctl89120555editdlrm
msp.pl277140555editdlrm
mysql_dstat4740555editdlrm
mysql_selector.py731020555editdlrm
nlp45820555editdlrm
procscrape18630555editdlrm
quarantine110830555editdlrm
radsfunctions.sh8630555editdlrm
recent-cp161480555editdlrm
remote_dump183470555editdlrm
reset_cpanel32050555editdlrm
server-load21920555editdlrm
show-conns201050555editdlrm
show-conns-adv.py546670555editdlrm
sparta.py3824980555editdlrm
sqltop271290555editdlrm
telcheck24110555editdlrm
temprootreset1860555editdlrm
unsuspend_user13070555editdlrm
unsusprunner.sh18400555editdlrm
updatednsadmin5260555editdlrm
update_spf149720555editdlrm
upgrade-check92160555editdlrm
vhost_data.py62210555editdlrm
wp-xray.sh858160555editdlrm
Edit: /opt/dedrads/filescan (3566B)
#!/usr/lib/rads/venv/bin/python3 import os import shutil from subprocess import run, PIPE, DEVNULL from datetime import datetime # Print date def show_date(): print(datetime.now().strftime("%a %b %d %H:%M:%S %Y")) # Show total disk usage and print def show_disk_usage(fs='/'): print(f"\nDisk Usage for {fs}:\n") try: total, used, free = shutil.disk_usage(fs) disk_usage_percent = (used / total) * 100 if total > 0 else 0 print(f"Total: {total // (2**30)} GB") print(f"Used: {used // (2**30)} GB") print(f"Free: {free // (2**30)} GB") print(f"Usage: {disk_usage_percent:.2f}%") except Exception as e: print(f"Failed to retrieve disk usage info: {e}") # Show inode usage (like df -i) def show_inode_usage(fs='/'): print(f"\nInode Usage for {fs}:\n") try: stats = os.statvfs(fs) total_inodes = stats.f_files free_inodes = stats.f_ffree used_inodes = total_inodes - free_inodes inode_usage_percent = ( (used_inodes / total_inodes) * 100 if total_inodes > 0 else 0 ) print(f"Total Inodes: {total_inodes}") print(f"Used Inodes: {used_inodes}") print(f"Free Inodes: {free_inodes}") print(f"Usage: {inode_usage_percent:.2f}%") except Exception as e: print(f"Failed to retrieve inode info: {e}") # Find the largest directories and print def find_largest_directories(basedir="/"): print(f"\nLargest Directories for {basedir} (≥ 1 GB):\n") cmd = ( f"du --human-readable --max-depth=2 --threshold={2**30} " f"--exclude='/proc/*' --exclude='/home/virtfs/*' {basedir} " "| sort -hr | head -15" ) try: result = run( cmd, stdout=PIPE, stderr=DEVNULL, shell=True, text=True, check=True ) except Exception as e: print(f"Failed to retrieve largest directories: {e}") for line in result.stdout.splitlines(): size, path = line.split(maxsplit=1) print(f"{size:>6}\t{path}") # Find largest files and print def find_largest_files(basedir="/"): print(f"\nLargest Files for {basedir}:\n") cmd = ( f"find {basedir} " "-xdev -path /home/virtfs -prune -o -type f -printf '%s %p\n' " "| sort -nr " "| head -n 20 " "| numfmt --to=iec" ) try: result = run( cmd, stdout=PIPE, stderr=DEVNULL, shell=True, text=True, check=True ) except Exception as e: print(f"Error running command: {e}") for line in result.stdout.splitlines(): size, path = line.split(maxsplit=1) print(f"{size:>6}\t{path}") # Full listing of all directories in /backup def print_backup_directory_contents(): print("\nFull Directory Tree of /backup (Directories Only):\n") try: for root, dirs, _ in os.walk('/backup'): for name in dirs: print(os.path.join(root, name)) except Exception as e: print(f"Failed to list directories in /backup: {e}") # Show /backup disk usage, largest dirs and files def find_backup_info(basedir='/backup'): print("\nDisk Usage for /backup:\n") find_largest_directories(basedir) find_largest_files(basedir) print_backup_directory_contents() # The main function def main(): fs = '/' show_date() show_disk_usage(fs) show_inode_usage(fs) find_largest_directories(fs) find_largest_files(fs) # Add backup section find_backup_info() if __name__ == "__main__": main()