28fc57c5c7
- Model migration: gemma-4-E4B → qwen3.5-9b-vlm - Dashboard reorder: Usage Over Time + GPU Metrics to top - Router counter leak fix (gpu_decr in except handler) - VLM slot upgrade 1→2 - Automated maintenance cron job - LiteLLM config update
38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# SyslogAI Harness — Automated Maintenance
|
|
# Runs daily via cron
|
|
|
|
LOG="/var/log/harness-maintenance.log"
|
|
echo "=== $(date) ===" >> "$LOG"
|
|
|
|
# 1. Clean Redis timeseries keys older than 60 days
|
|
CUTOFF=$(date -d "60 days ago" +%Y%m%d%H)
|
|
echo "Redis: removing ts:* keys older than $CUTOFF" >> "$LOG"
|
|
DELETED=0
|
|
for key in $(docker exec harness-redis redis-cli KEYS "ts:*" 2>/dev/null); do
|
|
TS=$(echo "$key" | grep -oP '\d{10}$')
|
|
if [ -n "$TS" ] && [ "$TS" -lt "$CUTOFF" ] 2>/dev/null; then
|
|
docker exec harness-redis redis-cli DEL "$key" > /dev/null 2>&1
|
|
DELETED=$((DELETED + 1))
|
|
fi
|
|
done
|
|
echo "Redis: deleted $DELETED stale timeseries keys" >> "$LOG"
|
|
|
|
# 2. Log stale model keys (leftover from migrations)
|
|
STALE=$(docker exec harness-redis redis-cli KEYS "*gemma*" 2>/dev/null)
|
|
if [ -n "$STALE" ]; then
|
|
echo "WARNING: stale gemma keys found: $STALE" >> "$LOG"
|
|
fi
|
|
|
|
# 3. Prune Docker build cache (older than 7 days)
|
|
echo "Docker: pruning build cache" >> "$LOG"
|
|
docker builder prune -f --filter until=168h >> "$LOG" 2>&1
|
|
|
|
# 4. Log container health status
|
|
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.RunningFor}}" >> "$LOG" 2>&1
|
|
|
|
# 5. Log Redis memory
|
|
docker exec harness-redis redis-cli INFO memory | grep used_memory_human >> "$LOG" 2>&1
|
|
|
|
echo "" >> "$LOG"
|