#!/bin/bash # Daily Maintenance Script for BestSolarTech # Performs daily cleanup and preventive restarts LOG_FILE="/home/jared/services/maintenance.log" log_message() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE" } log_message "Starting daily maintenance" # 1. Clear Apache/PHP caches in WordPress container docker exec bestsolartech_wp sh -c 'find /tmp -type f -mtime +1 -delete 2>/dev/null' log_message "Cleared temporary files" # 2. Optimize WordPress database tables docker exec bestsolartech_db mysql -u wordpress -pBST_wp2024_secure -e " USE bst_wordpress; OPTIMIZE TABLE wp_vuhx_posts, wp_vuhx_postmeta, wp_vuhx_options; " 2>/dev/null log_message "Optimized database tables" # 3. Restart containers gracefully (one at a time) cd /home/jared/services/bestsolartech # Restart database first docker compose restart mariadb sleep 30 # Wait for database to be ready # Then restart WordPress docker compose restart wordpress log_message "Containers restarted" # 4. Clean up Docker resources docker system prune -f --volumes 2>&1 | grep -E "Total reclaimed space" >> "$LOG_FILE" # 5. Log current resource usage echo "Current resource usage:" >> "$LOG_FILE" docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}" | grep bestsolartech >> "$LOG_FILE" log_message "Daily maintenance completed"