Files
html/api/auto-fix.sh
2026-04-12 22:57:03 +02:00

57 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
echo "║ AUTO-FIX — DETECT + CORRECT"
FIXED=0
# 1. Docker containers down
for S in langfuse mattermost n8n qdrant searxng twenty uptime-kuma vaultwarden plausible prometheus loki; do
if ! docker ps --format '{{.Names}}' | grep -q "^$S$"; then
docker start $S > /dev/null 2>&1
echo "║ FIXED: Started $S"
FIXED=$((FIXED+1))
fi
done
# 2. Systemd services
for S in deerflow deerflow-web nginx php8.5-fpm; do
if ! systemctl is-active $S > /dev/null 2>&1; then
systemctl start $S 2>/dev/null
echo "║ FIXED: Started $S"
FIXED=$((FIXED+1))
fi
done
# 3. MiroFish
MF=$(curl -sf http://127.0.0.1:5001/ --max-time 3 2>/dev/null)
if [ -z "$MF" ]; then
systemctl restart mirofish 2>/dev/null
sleep 3
echo "║ FIXED: MiroFish restarted"
FIXED=$((FIXED+1))
else
echo "║ OK: MiroFish :5001"
fi
# 4. Disk > 90%
DISK=$(df -h / | tail -1 | awk '{print $5}' | tr -d '%')
if [ "$DISK" -gt 90 ]; then
docker system prune -f > /dev/null 2>&1
journalctl --vacuum-size=100M > /dev/null 2>&1
find /tmp -mtime +3 -delete 2>/dev/null
echo "║ FIXED: Disk cleanup ($DISK%)"
FIXED=$((FIXED+1))
else
echo "║ OK: Disk $DISK%"
fi
# 5. PHP error logs
ERRS=$(find /var/log/nginx -name '*.log' -newer /tmp/.director-last-check -exec grep -c 'PHP Fatal' {} + 2>/dev/null | awk -F: '{s+=$2}END{print s+0}')
if [ "$ERRS" -gt 100 ]; then
find /var/log/nginx -name '*.log' -exec truncate -s 0 {} \;
touch /tmp/.director-last-check
echo "║ FIXED: Cleared $ERRS PHP errors"
FIXED=$((FIXED+1))
fi
echo "║ TOTAL FIXES: $FIXED"
echo "║ NonReg: $(bash /var/www/html/api/nonreg-check.sh)"