server-ovh-prod-01-main/scripts/daily-maintenance.sh

42 lines
1.3 KiB
Bash
Raw Permalink Normal View History

#!/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"