42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/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" |