#!/bin/bash LOG_DIR="/data/logs" LOG_FILE="$LOG_DIR/memory-history.log" mkdir -p "$LOG_DIR" while true; do # Rotate if over 10MB if [ -f "$LOG_FILE" ]; then SIZE=$(wc -c < "$LOG_FILE" 2>/dev/null || echo 0) if [ "$SIZE" -gt 10485760 ]; then mv "$LOG_FILE" "$LOG_FILE.old" fi fi echo "========== $(date +%Y-%m-%d\ %H:%M:%S) ==========" >> "$LOG_FILE" echo "--- MEMORY ---" >> "$LOG_FILE" free -m >> "$LOG_FILE" echo "--- TOP MEMORY PROCESSES ---" >> "$LOG_FILE" ps -eo pid,rss,comm --sort=-rss | head -12 >> "$LOG_FILE" echo "" >> "$LOG_FILE" sleep 600 done