Initial commit

This commit is contained in:
2020-06-27 15:56:54 +02:00
commit c3200c91db
65 changed files with 2701 additions and 0 deletions
File diff suppressed because it is too large Load Diff
@@ -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