server / monitor.sh
pabla1322's picture
Upload 17 files
722781c verified
Raw
History Blame Contribute Delete
583 Bytes
#!/bin/bash
# System resource monitor — logs stats every 60 seconds
LOG="/data/logs/monitor.log"
while true; do
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
LOAD=$(uptime | awk -F'load average:' '{print $2}' | xargs)
MEM=$(free -h | awk '/Mem:/{print $3 "/" $2}')
DISK=$(df -h /data | awk 'NR==2{print $3 "/" $2 " (" $5 ")"}')
MC_PID=$(pgrep -x bedrock_server || echo "NOT RUNNING")
PLAYIT_PID=$(pgrep -x playit || echo "NOT RUNNING")
echo "[$TIMESTAMP] Load: $LOAD | Mem: $MEM | Disk: $DISK | MC: $MC_PID | playit: $PLAYIT_PID" >> "$LOG"
sleep 60
done