From 7c113360c894202550e0e964a7d204540cb5124f Mon Sep 17 00:00:00 2001 From: kake26 Date: Fri, 15 Nov 2024 18:08:39 -0600 Subject: [PATCH] save point --- script.bash | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++- sys.bash | 19 ++++++++++----- 2 files changed, 80 insertions(+), 7 deletions(-) mode change 100644 => 100755 script.bash diff --git a/script.bash b/script.bash old mode 100644 new mode 100755 index 35cdf3f..789bcd0 --- a/script.bash +++ b/script.bash @@ -18,9 +18,75 @@ cleanup() { true } - source ./config_json.bash # can be json or ini, I preffer json +# Keydb / Redis interaction functions, works for both + +dbcmd="keydb-cli" + +# Check if keydb-cli is installed +check_redis_cli() { + if ! command -v $dbcmd &> /dev/null; then + echo "Error: $dbcmd is not installed. Please install keydb package." + exit 1 + fi +} + +# Save data to Redis +# Usage: redis_save key value +redis_save() { + local key="$1" + local value="$2" + + if [[ -z "$key" || -z "$value" ]]; then + echo "Error: Both key and value are required" + echo "Usage: redis_save key value" + return 1 + fi + + if $dbcmd SET "$key" "$value"; then + echo "Successfully saved '$value' with key '$key'" + else + echo "Failed to save data to Redis" + return 1 + fi +} + +# Retrieve data from Redis +# Usage: redis_get key +redis_get() { + local key="$1" + + if [[ -z "$key" ]]; then + echo "Error: Key is required" + echo "Usage: redis_get key" + return 1 + fi + + local value + value=$($dbcmd GET "$key") + if [[ $? -eq 0 ]]; then + if [[ -z "$value" ]]; then + echo "No value found for key '$key'" + return 1 + else + echo "$value" + fi + else + echo "Failed to retrieve data from Redis" + return 1 + fi +} + +# Example usage +check_redis_cli + +# Uncomment these lines to test the functions +# redis_save "mykey" "Hello from Bash!" +# redis_get "mykey" + # Code goes here +redis_save "bashini" "new" +redis_get "bashini" diff --git a/sys.bash b/sys.bash index 758afa4..62a1459 100755 --- a/sys.bash +++ b/sys.bash @@ -17,23 +17,30 @@ function meminfo() { echo "Memory:" # We will get to this later #total=$(free -h| grep ) #| grep -E "Mem|Swap" + total=$(free -h | awk '/^Mem/ {print $2}') + used=$(free -h | awk '/^Mem/ {print $3}') + free=$(free -h | awk '/^Mem/ {print $4}') + echo "Total: $total, Used: $used, Free: $free" + } function diskinfo() { echo "Disk:" # We will get to this later + disks=$(lsblk -d -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL | awk 'NR>1 {print $1,$2,$3,$4,$5}') + for disk in $disks; do + echo "$disk" + done + } function networkinfo() { echo "Network:" # get network interfaces and usage - # get network adapters and usage - adapters=$(ip -s addr | grep -E '^[0-9]:' | awk -F ':' '{print $2}') - for adapter in $adapters; do - rx=$(ip -s link show $adapter | awk '/RX:/ {print $2}') - tx=$(ip -s link show $adapter | awk '/TX:/ {print $2}') - echo -e "$adapter\tRX: $rx\tTX: $tx" + net=$(ifstat -j | jq -r '.[] | "\(.interface) TX:\(.tx.kbps) RX:\(.rx.kbps)"') + for interface in $net; do + echo "$interface" done