Files
memex/system/hourly-tracker.sh

39 lines
1002 B
Bash
Executable File

#!/bin/bash
# Hourly Tracker Script for OpenClaw Workspace
# Created: 2026-03-13
# Purpose: Track CPU, Memory, Disk, and Network Connections
LOG_DIR="/home/amr/.openclaw/workspace/memex/7_system/logs"
LOG_FILE="$LOG_DIR/hourly-stats.log"
DATE=$(date "+%Y-%m-%d %H:%M:%S")
mkdir -p "$LOG_DIR"
log_stats() {
# 1. CPU
CPU_LOAD=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
# 2. Memory
MEM_USAGE=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')
# 3. Load average
LOAD_AVG=$(uptime | awk -F'load average:' '{ print $2 }' | xargs)
# 4. Disk (/)
DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}')
# 5. Network connections
NET_CONNS=$(netstat -an | grep ESTABLISHED | wc -l)
echo "[$DATE] CPU: $CPU_LOAD%, MEM: $MEM_USAGE, LOAD: $LOAD_AVG, DISK: $DISK_USAGE, NET: $NET_CONNS" >> "$LOG_FILE"
}
cleanup_logs() {
# 6. Auto-cleanup logs older than 30 days
find "$LOG_DIR" -type f -mtime +30 -delete
}
log_stats
cleanup_logs