# Pi 5 System Summary Script with AWK

#### **Date:** May 25th, 2025  
**Category:** Linux Scripting / System Monitoring

#### I wrote this script after studying `awk`. This command is really powerful in scripting. I have a good understanding of using the command to extract data fields from CSV files, and live system data. Here is my project I made using `awk`.

### Script Overview

- Gathers:
    
    
    - Timestamp
    - IP Address
    - Hostname
    - Uptime (human-readable)
    - Disk usage, total, free
    - Memory usage, total, free
- Outputs to both screen and log file
- Uses `awk`, `df`, `free`, `uptime`, and `tee`

---

### Script: `<strong>pi5-system-summary.sh</strong>`

```bash
#!/bin/bash

LOGFILE=~/pi5-summary-$(date +%Y-%m-%d).log
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
HOSTNAME=$(hostname)
IP=$(hostname -I | awk '{ print $1 }')
UPTIME=$(uptime -p)
DISK_TOTAL=$(df -h / | awk 'NR > 1 { print $2 }')
DISK_USAGE=$(df -h / | awk 'NR > 1 { print $5 }' | tr -d '%')
DISK_FREE=$(df -h / | awk 'NR > 1 { print $4 }')
MEM_TOTAL=$(free -h | awk 'NR == 2 { print $2 }')
MEM_USEAGE=$(free -h | awk 'NR == 2 { print $3 }')
MEM_FREE=$(free -h | awk 'NR == 2 { print $4 }')

{
echo "===== Pi 5 System Summary ====="
echo "$TIMESTAMP"
echo "IP ADDRESS: $IP"
echo "HOSTNAME: $HOSTNAME"
echo "UPTIME: $UPTIME"
echo "DISK TOTAL: $DISK_TOTAL"
echo "DISK USAGE: $DISK_USAGE%"
echo "DISK FREE: $DISK_FREE"
echo "MEM TOTAL: $MEM_TOTAL"
echo "MEM USAGE: $MEM_USEAGE"
echo "MEM FREE: $MEM_FREE"
} | tee -a "$LOGFILE"

```

---

### Sample Output

[![2025-05-26 07_46_07-PI-DT-01 (WayVNC) - RealVNC Viewer.png](https://docs.natenetworks.com/uploads/images/gallery/2025-05/scaled-1680-/osmXsYV8BHu8VC8M-2025-05-26-07-46-07-pi-dt-01-wayvnc-realvnc-viewer.png)](https://docs.natenetworks.com/uploads/images/gallery/2025-05/osmXsYV8BHu8VC8M-2025-05-26-07-46-07-pi-dt-01-wayvnc-realvnc-viewer.png)

### Log Output with `tee` and wrapped in {}  
[![2025-05-26 07_45_49-PI-DT-01 (WayVNC) - RealVNC Viewer.png](https://docs.natenetworks.com/uploads/images/gallery/2025-05/scaled-1680-/OF2XjzmapDwyPZL7-2025-05-26-07-45-49-pi-dt-01-wayvnc-realvnc-viewer.png)](https://docs.natenetworks.com/uploads/images/gallery/2025-05/OF2XjzmapDwyPZL7-2025-05-26-07-45-49-pi-dt-01-wayvnc-realvnc-viewer.png)