Add tiny sample script to display upgrades
This commit is contained in:
parent
f46b64defe
commit
365544d343
84
update-motd.d/30-update
Executable file
84
update-motd.d/30-update
Executable file
@ -0,0 +1,84 @@
|
||||
#!/bin/sh
|
||||
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
|
||||
|
||||
# {{ ansible_managed | comment }}
|
||||
|
||||
# Colors definition [[[
|
||||
BLACK='\033[49;30m'
|
||||
BLACKB='\033[49;90m'
|
||||
RED='\033[0;31m'
|
||||
REDB='\033[1;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
BLUE='\033[94;49m'
|
||||
MAGENTA='\033[0;35m'
|
||||
CYAN='\033[36;49m'
|
||||
WHITE='\033[0;37m'
|
||||
BOLD='\033[1m'
|
||||
RESET='\033[0m'
|
||||
# ]]]
|
||||
# Function definition [[[
|
||||
## process_info() [[[
|
||||
### Return the state of processes passed in parameters
|
||||
### process_info $PROCESS_LIST_TO_MONITOR $MESSAGE
|
||||
process_info() {
|
||||
PROCESS_LIST="${1}"
|
||||
MSG="${2}"
|
||||
|
||||
for PROCESS in ${PROCESS_LIST}; do
|
||||
MSG="${MSG}${BLACKB}+ "
|
||||
PRINTF_PROCESS=$(printf '%-22s' "${PROCESS}")
|
||||
if (ps ax | grep -v grep | grep -E "${PROCESS}" > /dev/null); then
|
||||
MSG="${MSG}${WHITE}${PRINTF_PROCESS}${RESET}${BLACKB}= ${GREEN}RUNNING${RESET}"
|
||||
else
|
||||
MSG="${MSG}${WHITE}${PRINTF_PROCESS}${RESET}${BLACKB}= ${REDB}NOT RUNNING${RESET}"
|
||||
fi
|
||||
done
|
||||
|
||||
printf '%b' "${MSG}"
|
||||
}
|
||||
## ]]]
|
||||
## service_info() [[[
|
||||
### Return the listening socket
|
||||
### service_info $PORT_LIST_TO_MONITOR $MESSAGE
|
||||
service_info() {
|
||||
PORT_LIST="${1}"
|
||||
MSG="${2}"
|
||||
|
||||
for PORT in ${PORT_LIST}; do
|
||||
MSG="${MSG}\\t${BLACKB}+ "
|
||||
# If a port listen
|
||||
if (ss -lutn|grep -m1 -E ":${PORT}" > /dev/null); then
|
||||
# Example: "tcp/127.0.0.1:25"
|
||||
#MSG="${MSG}${GREEN}$(ss -lutn|grep -m1 ":${PORT}"|awk '{print $1"/"$5}')${RESET} "
|
||||
MSG="${MSG}${GREEN}$(ss -lutn|grep -E "${PORT}"|sort|head -n1|awk '{print $1"/"$5}')${RESET} "
|
||||
else
|
||||
# Example: "22: NOT LISTENING"
|
||||
MSG="${MSG}${REDB}${PORT}: NOT LISTENING${RESET} "
|
||||
fi
|
||||
done
|
||||
|
||||
printf '%b' "${MSG}"
|
||||
}
|
||||
## ]]]
|
||||
# ]]]
|
||||
|
||||
#+++++++++++++++++++: Updates Info :+++++++++++++++++++
|
||||
|
||||
APT_UPGRADES_NUMBER=$(apt list --upgradable 2>/dev/null | wc --lines)
|
||||
|
||||
# If some upgrade are availabe
|
||||
if [ "${APT_UPGRADES_NUMBER}" -gt 1 ]; then
|
||||
## Print a header [[[
|
||||
printf '%b' "${RESET}"
|
||||
printf "${BLACKB}%33s${RESET}" | tr ' ' -
|
||||
printf '%b' " ${CYAN}Updates Info${RESET} "
|
||||
printf "${BLACKB}%33s${RESET}" | tr ' ' -
|
||||
# ]]]
|
||||
printf '%b' "\\n${BLACKB}+ ${REDB}${APT_UPGRADES_NUMBER}${RESET} ${WHITE}pending upgrades${RESET}"
|
||||
printf '%b' "\\n${BLACKB}+ ${WHITE}Run '${YELLOW}apt list --upgradable${WHITE}' to see them.${RESET}"
|
||||
fi
|
||||
|
||||
|
||||
printf '%b' "${RESET}\\n"
|
||||
|
Loading…
Reference in New Issue
Block a user