#!/usr/bin/env bash set -e # Exit immediately if a command exits with a non-zero status. ROOT_FOLDER="${PWD}" STATE_FOLDER="${ROOT_FOLDER}/state" # if not on linux exit if [[ "$(uname)" != "Linux" ]]; then echo '{"cpu": { "load": 0 },"memory": { "available": 0, "total": 0, "used": 0 },"disk": { "available": 0, "total": 0, "used": 0 }}' >"${STATE_FOLDER}/system-info.json" exit 0 fi ROOT_FOLDER="$(pwd)" STATE_FOLDER="${ROOT_FOLDER}/state" # Available disk space TOTAL_DISK_SPACE_BYTES=$(df -P -B 1 / | tail -n 1 | awk '{print $2}') AVAILABLE_DISK_SPACE_BYTES=$(df -P -B 1 / | tail -n 1 | awk '{print $4}') USED_DISK_SPACE_BYTES=$((TOTAL_DISK_SPACE_BYTES - AVAILABLE_DISK_SPACE_BYTES)) # CPU info CPU_LOAD_PERCENTAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}') # Memory info MEM_TOTAL_BYTES=$(($(grep "${TEMP_JSON_FILE}" # Write to state file cat "${TEMP_JSON_FILE}" >"${STATE_FOLDER}/system-info.json" chmod -R a+rwx "${ROOT_FOLDER}/state/system-info.json"