b66f40446e
ISSUE 1: User extraction showing empty '(user: )' in output SOLUTION: Added fallback mechanism using stat command to get file owner - Primary extraction via awk on path (for cPanel/InterWorx) - Fallback to stat -c %U to get actual file owner - Final fallback to www-data if all else fails ISSUE 2: All WordPress sites running cron at exact same time PROBLEM: This causes massive server load spikes SOLUTION: Improved staggered cron scheduling - Each site now gets a unique minute offset - Uses 3-minute intervals (0, 3, 6, 9, ..., 57) for 20 time slots - Prevents concurrent execution and load spikes - Much better distribution than hardcoded '0,15,30,45' Before fix: All sites: 0,15,30,45 * * * * (BAD - load spike) After fix: Site 1: 0 * * * * Site 2: 3 * * * * Site 3: 6 * * * * Site 4: 9 * * * * etc. This distributes WordPress cron jobs across the hour, preventing server load spikes from concurrent execution. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>