Update host_profile.sh

This commit is contained in:
2025-07-22 01:57:01 +00:00
parent 1b11f0eab4
commit 7648dea72b

View File

@@ -1,8 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
# Output format: YAML for easy parsing
echo "hostname: $(hostname)" echo "hostname: $(hostname)"
echo "uptime: $(uptime -p)" echo "uptime: $(uptime -p)"
echo "os: $(lsb_release -ds)" echo "os: $(lsb_release -ds)"
@@ -14,23 +12,29 @@ echo "cpu:"
echo " model: $(lscpu | awk -F: '/Model name/ {print $2}' | xargs)" echo " model: $(lscpu | awk -F: '/Model name/ {print $2}' | xargs)"
echo " cores: $(nproc)" echo " cores: $(nproc)"
echo " threads: $(lscpu | awk -F: '/^CPU\(s\)/ {print $2}' | xargs)" echo " threads: $(lscpu | awk -F: '/^CPU\(s\)/ {print $2}' | xargs)"
echo " frequency_ghz: $(lscpu | awk -F: '/MHz/ {printf \"%.2f\", $2 / 1000}' | xargs)" freq=$(lscpu | awk -F: '/^CPU MHz/ { gsub(/^[ \t]+/, "", $2); printf "%.2f", $2 / 1000 }' 2>/dev/null || echo "")
echo " frequency_ghz: ${freq:-unknown}"
# Memory # Memory Info
mem_total=$(free -g | awk '/^Mem:/ {print $2}') mem_total=$(free -g | awk '/^Mem:/ {print $2}')
mem_free=$(free -g | awk '/^Mem:/ {print $4}') mem_free=$(free -g | awk '/^Mem:/ {print $4}')
if [[ "$mem_total" == "0" ]]; then
mem_total=$(free -m | awk '/^Mem:/ {printf "%.1f", $2 / 1024}')
mem_free=$(free -m | awk '/^Mem:/ {printf "%.1f", $4 / 1024}')
fi
echo "memory_gb:" echo "memory_gb:"
echo " total: ${mem_total}" echo " total: $mem_total"
echo " free: ${mem_free}" echo " free: $mem_free"
# Disk # Disk Devices (excluding loop and ram)
echo "disks:" echo "disks:"
lsblk -dno NAME,SIZE,MODEL | while read -r name size model; do lsblk -dno NAME,SIZE,MODEL | grep -Ev '^loop|^ram' | while read -r name size model; do
echo " - device: /dev/$name" echo " - device: /dev/$name"
echo " size: \"$size\"" echo " size: \"$size\""
echo " model: \"$model\"" echo " model: \"${model:-unknown}\""
done done
# Disk Usage
echo "disk_usage:" echo "disk_usage:"
df -h --output=source,size,used,avail,target -x tmpfs -x devtmpfs | tail -n +2 | while read -r src size used avail target; do df -h --output=source,size,used,avail,target -x tmpfs -x devtmpfs | tail -n +2 | while read -r src size used avail target; do
echo " - mount: \"$target\"" echo " - mount: \"$target\""
@@ -40,9 +44,9 @@ df -h --output=source,size,used,avail,target -x tmpfs -x devtmpfs | tail -n +2 |
echo " available: \"$avail\"" echo " available: \"$avail\""
done done
# Networking # Network Interfaces
echo "network_interfaces:" echo "network_interfaces:"
ip -o -4 addr show | awk '!/ lo / {print " - iface: \"" $2 "\"\n ip: \"" $4 "\"" }' ip -o -4 addr show | awk '!/ lo / {print " - iface: \"" $2 "\"\n ip: \"" $4 "\"" }'
# System ID for deduplication # Machine ID
echo "machine_id: $(cat /etc/machine-id)" echo "machine_id: $(cat /etc/machine-id)"