Minor changes

This commit is contained in:
Loïc Guégan 2024-07-05 20:07:11 +02:00
parent c7e01eded2
commit 1fb07e18e9

View file

@ -20,6 +20,10 @@ safecmdroot() {
[ $(id -u) -eq 0 ] && safecmd $@ [ $(id -u) -eq 0 ] && safecmd $@
} }
safegetentry() {
[[ ${DUMP_ENTRIES} =~ $1 ]] && cat "${DUMP_FILE}"|jq -r ".[\"${1}\"]"|base64 -d
}
dump() { dump() {
[ -z "$2" ] && return [ -z "$2" ] && return
entry=$1 entry=$1
@ -191,35 +195,38 @@ fi
if [ "$ACTION" == "summarize" ] if [ "$ACTION" == "summarize" ]
then then
ensure jq ensure jq
file=$1 # Setup safegetentry
OS_RELEASE=$(cat "$file"|jq -r '.["/etc/os-release"]'|base64 -d) DUMP_FILE=$1
CPU_INFO=$(cat "$file"|jq -r '.["/proc/cpuinfo"]'|base64 -d) DUMP_ENTRIES=$(cat "${DUMP_FILE}"|jq -r "keys[]";)
MEM_INFO=$(cat "$file"|jq -r '.["/proc/meminfo"]'|base64 -d)
PING_SUCCESS_COUNT=$(cat "$file"|jq -r '.["ping"]'|base64 -d|grep "packet loss"|cut -d, -f 2|awk '{print $1+0}') OS_RELEASE=$(safegetentry /etc/os-release)
IPADDR=$(cat "$file"|jq -r '.["ipaddr"]'|base64 -d) CPU_INFO=$(safegetentry /proc/cpuinfo)
INFO_DISKS=$(cat "$file"|jq -r '.["df"]'|base64 -d) MEM_INFO=$(safegetentry /proc/meminfo)
KERNEL_CONFIG=$(cat "$file"|jq -r '.["kernel_config"]'|base64 -d) PING_SUCCESS_COUNT=$(safegetentry ping|grep "packet loss"|cut -d, -f 2|awk '{print $1+0}')
IPADDR=$(safegetentry ipaddr)
INFO_DISKS=$(safegetentry df)
KERNEL_CONFIG=$(safegetentry kernel_config)
# Extract infos # Extract infos
INFO_OS_NAME=$(echo "$OS_RELEASE"|grep "^NAME=" | cut -d'"' -f 2) INFO_OS_NAME=$(echo "$OS_RELEASE"|grep "^NAME=" | cut -d'"' -f 2)
INFO_OS_VERSION=$(echo "$OS_RELEASE"|grep "^VERSION=" | cut -d'"' -f 2) INFO_OS_VERSION=$(echo "$OS_RELEASE"|grep "^VERSION=" | cut -d'"' -f 2)
INFO_HOSTNAME=$(cat "$file"|jq -r '.["hostname"]'|base64 -d) INFO_HOSTNAME=$(safegetentry hostname)
INFO_CPU_MODEL=$(echo "$CPU_INFO"|grep "model name" | cut -d':' -f 2|uniq|awk '{$1=$1};1') INFO_CPU_MODEL=$(echo "$CPU_INFO"|grep "model name" | cut -d':' -f 2|uniq|awk '{$1=$1};1')
INFO_CPU_CORE_N_PHY=$(echo "$CPU_INFO"|grep ^cpu\\scores /proc/cpuinfo | uniq | awk '{print $4}') INFO_CPU_CORE_N_PHY=$(echo "$CPU_INFO"|grep ^cpu\\scores /proc/cpuinfo | uniq | awk '{print $4}')
INFO_CPU_CORE_N_VIRT=$(echo "$CPU_INFO"|grep -c ^processor /proc/cpuinfo) INFO_CPU_CORE_N_VIRT=$(echo "$CPU_INFO"|grep -c ^processor /proc/cpuinfo)
[ "$INFO_CPU_CORE_N_PHY" -eq "$INFO_CPU_CORE_N_VIRT" ] && INFO_CPU_HYPERTHREADING="off" || INFO_CPU_HYPERTHREADING="on" [ "$INFO_CPU_CORE_N_PHY" -eq "$INFO_CPU_CORE_N_VIRT" ] && INFO_CPU_HYPERTHREADING="off" || INFO_CPU_HYPERTHREADING="on"
[ $PING_SUCCESS_COUNT -gt 0 ] && INFO_OTHER_NETWORK="on" || INFO_OTHER_NETWORK="off" [ $PING_SUCCESS_COUNT -gt 0 ] && INFO_OTHER_NETWORK="available" || INFO_OTHER_NETWORK="unreachable"
INFO_INET4=$(echo "$IPADDR"|awk '/inet /{printf $2", "}'| sed 's/..$//') INFO_INET4=$(echo "$IPADDR"|awk '/inet /{printf $2", "}'| sed 's/..$//')
INFO_INET6=$(echo "$IPADDR"|awk '/inet6 /{printf $2", "}'| sed 's/..$//') INFO_INET6=$(echo "$IPADDR"|awk '/inet6 /{printf $2", "}'| sed 's/..$//')
INFO_MEM_TOTAL=$(echo "$MEM_INFO"|awk '/MemTotal/{print $2/1000" MB"}') INFO_MEM_TOTAL=$(echo "$MEM_INFO"|awk '/MemTotal/{print $2/1000" MB"}')
INFO_MEM_FREE=$(echo "$MEM_INFO"|awk '/MemFree/{print $2/1000" MB"}') INFO_MEM_FREE=$(echo "$MEM_INFO"|awk '/MemFree/{print $2/1000" MB"}')
INFO_MEM_SWAP_TOTAL=$(echo "$MEM_INFO"|awk '/SwapTotal/{print $2/1000" MB"}') INFO_MEM_SWAP_TOTAL=$(echo "$MEM_INFO"|awk '/SwapTotal/{print $2/1000" MB"}')
INFO_MEM_SWAP_FREE=$(echo "$MEM_INFO"|awk '/SwapFree/{print $2/1000" MB"}') INFO_MEM_SWAP_FREE=$(echo "$MEM_INFO"|awk '/SwapFree/{print $2/1000" MB"}')
INFO_UPTIME=$(cat "$file"|jq -r '.["uptime"]'|base64 -d|cut -d, -f 1|awk '{$1=$1};1') INFO_UPTIME=$(safegetentry uptime|cut -d, -f 1|awk '{$1=$1};1')
INFO_DUMP_DATE=$(cat "$file"|jq -r '.["date"]'|base64 -d) && INFO_DUMP_DATE=$(date -d "@${INFO_DUMP_DATE}") INFO_DUMP_DATE=$(safegetentry date) && INFO_DUMP_DATE=$(date -d "@${INFO_DUMP_DATE}")
INFO_DUMP_USER=$(cat "$file"|jq -r '.["env"]'|base64 -d|grep "^USER="|cut -d= -f2) INFO_DUMP_USER=$(safegetentry env|grep "^USER="|cut -d= -f2)
INFO_TIMEZONE=$(cat "$file"|jq -r '.["/etc/timezone"]'|base64 -d) INFO_TIMEZONE=$(safegetentry /etc/timezone)
INFO_KERNEL=$(cat "$file"|jq -r '.["/proc/version"]'|base64 -d|awk '/ version /{print $1" v"$3}') INFO_KERNEL=$(safegetentry /proc/version|awk '/ version /{print $1" v"$3}')
INFO_KERNEL_RAPL=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_INTEL_RAPL=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}') INFO_KERNEL_RAPL=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_INTEL_RAPL=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}')
INFO_KERNEL_KVM=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_KVM=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}') INFO_KERNEL_KVM=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_KVM=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}')
INFO_KERNEL_I2C=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_I2C=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}') INFO_KERNEL_I2C=$(echo "$KERNEL_CONFIG"|awk 'BEGIN{DETECTED=0};/^CONFIG_I2C=(y|m)/{DETECTED=1};END{if(DETECTED){print("Supported")}else{print("NA")}}')
@ -258,7 +265,7 @@ then
echo "Dump User: ${INFO_DUMP_USER}" echo "Dump User: ${INFO_DUMP_USER}"
echo "Dump Date: ${INFO_DUMP_DATE}" echo "Dump Date: ${INFO_DUMP_DATE}"
echo "Timezone: ${INFO_TIMEZONE}" echo "Timezone: ${INFO_TIMEZONE}"
echo "Network State: ${INFO_OTHER_NETWORK}" echo "Internet: ${INFO_OTHER_NETWORK}"
echo "IPv4: ${INFO_INET4}" echo "IPv4: ${INFO_INET4}"
echo "IPv6: ${INFO_INET6}" echo "IPv6: ${INFO_INET6}"
fi fi