Initial commit
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
function dateSummarizer() {
|
||||
echo -n "\033[34m"
|
||||
date
|
||||
}
|
||||
|
||||
registerSummarizer "Date" dateSummarizer
|
||||
@@ -0,0 +1,111 @@
|
||||
function uptimeSummarizer() {
|
||||
# Get the uptime in seconds depending on the kernel
|
||||
if [[ "$(uname -s)" == 'Darwin' ]]; then
|
||||
# OS X
|
||||
# kern.boottime is an absolute timestamp
|
||||
bootTime="$(sysctl -n kern.boottime | awk '{print $4}' | sed 's/,//g')"
|
||||
currentTime="$(date +%s)"
|
||||
uptime="$(($currentTime - $bootTime))"
|
||||
elif [[ -f /proc/uptime ]]; then
|
||||
# Linux
|
||||
uptime="$(cat /proc/uptime)"
|
||||
uptime="${uptime%%.*}"
|
||||
else
|
||||
# We don't have a handler for that
|
||||
# If you need one, please create an issue at
|
||||
# https://github.com/lukasbestle/my-welcome/issues
|
||||
echo "\033[31mUnsupported environment, can't get uptime. :(\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Parse into units
|
||||
seconds="$((uptime % 60))"
|
||||
minutes="$((uptime / 60 % 60))"
|
||||
hours="$(( uptime / 60 / 60 % 24))"
|
||||
days="$(( uptime / 60 / 60 / 24 % 30))"
|
||||
months="$(( uptime / 60 / 60 / 24 / 30 % 12))"
|
||||
years="$(( uptime / 60 / 60 / 24 / 30 / 12))"
|
||||
|
||||
# Output depending on the scale of the uptime
|
||||
if [[ years -ge 1 ]]; then
|
||||
outputYears=true
|
||||
outputMonths=true
|
||||
outputDays=true
|
||||
elif [[ months -ge 1 ]]; then
|
||||
outputMonths=true
|
||||
outputDays=true
|
||||
elif [[ days -ge 1 ]]; then
|
||||
outputDays=true
|
||||
outputHours=true
|
||||
outputMinutes=true
|
||||
elif [[ hours -ge 1 ]]; then
|
||||
outputHours=true
|
||||
outputMinutes=true
|
||||
elif [[ minutes -ge 1 ]]; then
|
||||
outputMinutes=true
|
||||
outputSeconds=true
|
||||
else
|
||||
outputSeconds=true
|
||||
fi
|
||||
|
||||
# Output each element
|
||||
output=''
|
||||
if [[ "$outputYears" == true ]]; then
|
||||
output+="\033[34m$years"
|
||||
if [[ "$years" == 1 ]]; then
|
||||
output+=' year\033[0m\n'
|
||||
else
|
||||
output+=' years\033[0m\n'
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$outputMonths" == true ]]; then
|
||||
output+="\033[34m$months"
|
||||
if [[ "$months" == 1 ]]; then
|
||||
output+=' month\033[0m\n'
|
||||
else
|
||||
output+=' months\033[0m\n'
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$outputDays" == true ]]; then
|
||||
output+="\033[34m$days"
|
||||
if [[ "$days" == 1 ]]; then
|
||||
output+=' day\033[0m\n'
|
||||
else
|
||||
output+=' days\033[0m\n'
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$outputHours" == true ]]; then
|
||||
output+="\033[34m$hours"
|
||||
if [[ "$hours" == 1 ]]; then
|
||||
output+=' hour\033[0m\n'
|
||||
else
|
||||
output+=' hours\033[0m\n'
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$outputMinutes" == true ]]; then
|
||||
output+="\033[34m$minutes"
|
||||
if [[ "$minutes" == 1 ]]; then
|
||||
output+=' minute\033[0m\n'
|
||||
else
|
||||
output+=' minutes\033[0m\n'
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$outputSeconds" == true ]]; then
|
||||
output+="\033[34m$seconds"
|
||||
if [[ "$seconds" == 1 ]]; then
|
||||
output+=' second\033[0m\n'
|
||||
else
|
||||
output+=' seconds\033[0m\n'
|
||||
fi
|
||||
fi
|
||||
|
||||
# Replace newlines with a comma
|
||||
echo "Host up for $(echo -ne "$output" | paste -s -d ';' - | sed "s/\;/\, /g")"
|
||||
}
|
||||
|
||||
registerSummarizer "Uptime" uptimeSummarizer
|
||||
@@ -0,0 +1,12 @@
|
||||
function quotaSummarizer() {
|
||||
# Get current quota information in MB (integers) and % of total
|
||||
quota_used=$(quota -lgs | grep '/dev/' | sed 's/ \/dev\/[a-z]\+[0-9] \+\([0-9]\+\?\)M.*/\1/')
|
||||
quota_total=$(quota -lgs | grep '/dev/' | sed 's/ \/dev\/[a-z]\+[0-9] \+[0-9]\+\?M \+\([0-9]\+\?\)M.*/\1/')
|
||||
quota_free=$(( $quota_total - $quota_used ))
|
||||
quota_percentage=$(( $quota_used * 100 / $quota_total ))
|
||||
|
||||
echo "Used \033[34m$quota_used MB\033[0m of \033[34m$quota_total MB\033[0m (\033[34m$quota_percentage %\033[0m)"
|
||||
echo -n "\033[34m$quota_free MB\033[0m available"
|
||||
}
|
||||
|
||||
registerSummarizer "Quota" quotaSummarizer
|
||||
@@ -0,0 +1,8 @@
|
||||
function ramSummarizer() {
|
||||
# Get current RAM usage in MB (integer)
|
||||
ram_used=$(ps -u $USER -o rss= | awk '{rss += $1} END {printf("%0.f", rss / 1000)}')
|
||||
|
||||
echo -n "Used \033[34m$ram_used MB\033[0m"
|
||||
}
|
||||
|
||||
registerSummarizer "RAM" ramSummarizer
|
||||
Reference in New Issue
Block a user