- 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>
73 lines
2.8 KiB
Bash
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
|