Files
claudetools/tmp/cleanup.sh
Mike Swanson c3eb709dd5 scc: NWTOC v5.0 - fix test exe deployment, session log
- Added EXE copy from Ate\ProdSW to C:\ATE in NWTOC.BAT
- Added /Y overwrite flag to all COPY commands
- Removed cyclic DATA folder copies from NWTOC
- Session log for 2026-03-16 DF DOS troubleshooting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 18:55:48 -07:00

73 lines
2.8 KiB
Bash

#!/bin/bash
echo "=== ERROR LOG ROTATION ==="
total_freed=0
for user in $(ls /var/cpanel/users/ | grep -v system | sort); do
pubhtml="/home/$user/public_html"
# Main error_log
if [ -f "$pubhtml/error_log" ]; then
size=$(stat -c%s "$pubhtml/error_log" 2>/dev/null || echo 0)
if [ "$size" -gt 10000 ]; then
size_mb=$(echo "scale=2; $size / 1048576" | bc)
echo "[TRUNCATE] $user: error_log ${size_mb}MB"
truncate -s 0 "$pubhtml/error_log"
total_freed=$((total_freed + size))
fi
fi
# Scattered error_log files in subdirs
find "$pubhtml" -maxdepth 4 -name "error_log" -size +10k ! -path "*/wp-content/uploads/*" 2>/dev/null | while read f; do
size=$(stat -c%s "$f" 2>/dev/null || echo 0)
size_mb=$(echo "scale=2; $size / 1048576" | bc)
echo "[TRUNCATE] $user: ${f#$pubhtml/} ${size_mb}MB"
truncate -s 0 "$f"
done
# WP debug.log
if [ -f "$pubhtml/wp-content/debug.log" ]; then
size=$(stat -c%s "$pubhtml/wp-content/debug.log" 2>/dev/null || echo 0)
if [ "$size" -gt 10000 ]; then
size_mb=$(echo "scale=2; $size / 1048576" | bc)
echo "[TRUNCATE] $user: debug.log ${size_mb}MB"
truncate -s 0 "$pubhtml/wp-content/debug.log"
fi
fi
# Old PHP error logs in ~/logs/
if [ -d "/home/$user/logs" ]; then
find "/home/$user/logs" -name "*.error.log" -size +1M 2>/dev/null | while read f; do
size=$(stat -c%s "$f" 2>/dev/null || echo 0)
size_mb=$(echo "scale=2; $size / 1048576" | bc)
echo "[TRUNCATE] $user: logs/$(basename $f) ${size_mb}MB"
truncate -s 0 "$f"
done
fi
done
echo ""
echo "=== INACTIVE PLUGIN SCAN ==="
for user in $(ls /var/cpanel/users/ | grep -v system | sort); do
pubhtml="/home/$user/public_html"
if [ ! -f "$pubhtml/wp-config.php" ]; then continue; fi
db_name=$(grep "DB_NAME" "$pubhtml/wp-config.php" 2>/dev/null | grep define | head -1 | cut -d"'" -f4)
tbl_prefix=$(grep "table_prefix" "$pubhtml/wp-config.php" 2>/dev/null | head -1 | cut -d"'" -f2)
if [ -z "$tbl_prefix" ]; then tbl_prefix="wp_"; fi
if [ -z "$db_name" ]; then continue; fi
active=$(mysql -N -e "SELECT option_value FROM ${db_name}.${tbl_prefix}options WHERE option_name='active_plugins'" 2>/dev/null)
if [ -z "$active" ]; then continue; fi
for plugdir in "$pubhtml/wp-content/plugins"/*/; do
plugname=$(basename "$plugdir")
if [ "$plugname" = "*" ]; then continue; fi
if echo "$active" | grep -q "\"$plugname/"; then
: # active
else
plug_size=$(du -sh "$plugdir" 2>/dev/null | cut -f1)
echo "[INACTIVE] $user: $plugname -- $plug_size"
fi
done
done