lgsm local mirror
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

121 lines
3.9 KiB

#!/bin/bash
# LinuxGSM command_dev_parse_distro_details.sh module
# Author: Daniel Gibbs
# Contributors: https://linuxgsm.com/contrib
# Website: https://linuxgsm.com
# Description: Display parsed distro details.
commandname="DEV-PARSE-DISTRO-DETAILS"
commandaction="Parse Distro Details"
moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_firstcommand_set
fn_print_header
check_ip.sh
check_status.sh
info_distro.sh
# Create an associative array of the server details.
declare -A server_details=(
['.NET Version']="${dotnetversion}"
['Arch']="${arch}"
['Backup Count']="${backupcount}"
['Backup Last Date']="${lastbackupdate}"
['Backup Last Days Ago']="${lastbackupdaysago}"
['Backup Last Size']="${lastbackupsize}"
['Backup Last']="${lastbackup}"
['CPU Average Load']="${load}"
['CPU Cores']="${cpucores}"
['CPU Frequency']="${cpufreqency}"
['CPU Model']="${cpumodel}"
['Distro Codename']="${distrocodename}"
['Distro ID Like']="${distroidlike}"
['Distro ID']="${distroid}"
['Distro Kernel']="${kernel}"
['Distro Name']="${distroname}"
['Distro Version CSV']="${distroversioncsv}"
['Distro Version RH']="${distroversionrh}"
['Distro Version']="${distroversion}"
['Distro-Info Support']="${distrosupport}"
['File System']="${filesystem}"
['Game Server PID']="${gameserverpid}"
['Gameserver CPU Used MHz']="${cpuusedmhz}"
['Gameserver CPU Used']="${cpuused}"
['Gameserver Mem Used MB']="${memusedmb}"
['Gameserver Mem Used Pct']="${memusedpct}"
['GLIBC Version']="${glibcversion}"
['GLIBC']="${glibc}"
['HLDS Linux PID']="${hldslinuxpid}"
['Java Version']="${javaversion}"
['Mono Version']="${monoversion}"
['Network Interface']="${netint}"
['Network Link Speed']="${netlink}"
['Old Free']="${oldfree}"
['Phys Mem Available']="${physmemavailable}"
['Phys Mem Buffers KB']="${physmembufferskb}"
['Phys Mem Cached']="${physmemcached}"
['Phys Mem Free']="${physmemfree}"
['Phys Mem Reclaimable KB']="${physmemreclaimablekb}"
['Phys Mem Total GB']="${physmemtotalgb}"
['Phys Mem Used']="${physmemused}"
['Size Backup Dir']="${backupdirdu}"
['Size Root Dir ']="${rootdirdu}"
['Size Root Dir Excl. Backup']="${rootdirduexbackup}"
['Size Serverfiles']="${serverfilesdu}"
['SRCDS Linux PID']="${srcdslinuxpid}"
['Storage Available']="${availspace}"
['Storage Total']="${totalspace}"
['Storage Used']="${usedspace}"
['Swap Free']="${swapfree}"
['Swap Total']="${swaptotal}"
['Swap Used']="${swapused}"
['Tmux Version']="${tmuxversion}"
['Uptime Days']="${days}"
['Uptime Hours']="${hours}"
['Uptime Minutes']="${minutes}"
['Uptime Total Seconds']="${uptime}"
['Virtual Environment']="${virtualenvironment}"
# ['Distro Info Array']="${distro_info_array}"
# ['Distros Unsupported Array']="${distrosunsupported_array}"
# ['Distros Unsupported']="${distrosunsupported}"
# ['Human Readable']="${humanreadable}"
# ['Phys Mem Actual Free KB']="${physmemactualfreekb}"
# ['Phys Mem Cached KB']="${physmemcachedkb}"
# ['Phys Mem Free KB']="${physmemfreekb}"
# ['Phys Mem Total KB']="${physmemtotalkb}"
# ['Phys Mem Total MB']="${physmemtotalmb}"
# ['SS Info']="${ssinfo}"
)
# Initialize variables to keep track of available and missing distro details.
available_details=""
missing_details=""
# Loop through the distro details and store them.
for key in "${!server_details[@]}"; do
value=${server_details[$key]}
if [ -n "$value" ]; then
available_details+="${lightblue}${key}: ${default}${value}\n"
else
missing_details+="${key}\n"
fi
done
# Sort and output the available distro details.
if [ -n "$available_details" ]; then
echo -e ""
echo -e "${bold}${lightgreen}Available Distro Details${default}"
fn_messages_separator
echo -e "${available_details}" | sort
fi
# Sort and output the missing distro details.
if [ -n "$missing_details" ]; then
echo -e ""
echo -e "${lightgreen}Missing or unsupported Distro Details${default}"
fn_messages_separator
echo -e "${missing_details}" | sort
fi
core_exit.sh