Browse Source
fn_distrodetails to replace 3 functions and provide more in depth info for fn_details and other functions that require distro and game server info. fn_load, fn_uptime and fn_distro are being depricatedpull/276/head
5 changed files with 95 additions and 4 deletions
@ -0,0 +1,81 @@ |
|||
#!/bin/bash |
|||
# LGSM fn_distrodetails function |
|||
# Author: Daniel Gibbs |
|||
# Website: http://danielgibbs.co.uk |
|||
# Version: 141214 |
|||
|
|||
# Description: Variables providing useful info on the Operating System such as disk and performace info. |
|||
# Used for fn_details, fn_debugserver and fn_emailnotification. |
|||
|
|||
# Distro infomation |
|||
# Returns architecture, kernel and distro/os |
|||
arch=$(uname -m) |
|||
kernel=$(uname -r) |
|||
if [ -f /etc/lsb-release ]; then |
|||
os=$(lsb_release -s -d) |
|||
elif [ -f /etc/debian_version ]; then |
|||
os="Debian $(cat /etc/debian_version)" |
|||
elif [ -f /etc/redhat-release ]; then |
|||
os=$(cat /etc/redhat-release) |
|||
else |
|||
os="$(uname -s) $(uname -r)" |
|||
fi |
|||
|
|||
# Glibc version number |
|||
# e.g: 1.17 |
|||
glibcv=$(ldd --version |grep ldd|awk '{print $NF}') |
|||
|
|||
# tmux version |
|||
# e.g: tmux 1.6 |
|||
if [ "$(tmux -V|sed "s/tmux //"|sed -n '1 p'|tr -cd [:digit:]|tail -c 3)" -lt "16" ]; then |
|||
tmuxv="$(tmux -V) (>= 1.6 required for console log)" |
|||
else |
|||
tmuxv=$(tmux -V) |
|||
fi |
|||
|
|||
# Performance |
|||
|
|||
# Average server load |
|||
load=$(uptime|awk -F 'load average: ' '{ print $2 }') |
|||
|
|||
# Memory |
|||
physmemtotal=$(free -h|grep "Mem:" | awk '{print $2}') |
|||
physmemused=$(free -h|grep "Mem:" | awk '{print $3}') |
|||
physmemfree=$(free -h|grep "Mem:" | awk '{print $4}') |
|||
swaptotal=$(free -h|grep "Swap:" | awk '{print $2}') |
|||
swapused=$(free -h|grep "Swap:" | awk '{print $3}') |
|||
swapfree=$(free -h|grep "Swap:" | awk '{print $4}') |
|||
|
|||
# Uptime |
|||
uptime=$(</proc/uptime) |
|||
uptime=${uptime%%.*} |
|||
minutes=$(( uptime/60%60 )) |
|||
hours=$(( uptime/60/60%24 )) |
|||
days=$(( uptime/60/60/24 )) |
|||
|
|||
# Disk usage |
|||
# available space on the partition |
|||
availspace=$(df -hP ${rootdir} | grep -v "Filesystem" | awk '{print $4}') |
|||
# used space in serverfiles dir |
|||
serverfilesdu=$(du -sh ${serverfiles} | awk '{print $1}') |
|||
if [ -z ${serverfilesdu} ]; then |
|||
serverfilesdu="0M" |
|||
fi |
|||
|
|||
# Backup info |
|||
if [ -d "${backupdir}" ]; then |
|||
# used space in backups dir |
|||
backupdirdu=$(du -sh ${backupdir} | awk '{print $1}') |
|||
if [ -z ${backupdirdu} ]; then |
|||
backupdirdu="0M" |
|||
fi |
|||
# number of backups |
|||
backupcount=$(find "${backupdir}"/*.tar.gz | wc -l) |
|||
# most recent backup |
|||
lastbackup=$(ls -t "${backupdir}"/*.tar.gz | head -1) |
|||
# date of most recent backup |
|||
lastbackupdate=$(date -r ${lastbackup}) |
|||
# size of most recent backup |
|||
lastbackupsize=$(du -h "${lastbackup}" | awk '{print $1}') |
|||
|
|||
fi |
Loading…
Reference in new issue