Initial commit - QBPOS Help
This commit is contained in:
41
scripts/health_check.sh
Normal file
41
scripts/health_check.sh
Normal file
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
# Health check and auto-restart script for QBPOS Help site
|
||||
|
||||
DOMAIN="quickbookposhelp.access.ly"
|
||||
LOG_FILE="/var/log/qbpos-health-check.log"
|
||||
|
||||
# Function to log messages
|
||||
log_message() {
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE"
|
||||
}
|
||||
|
||||
# Check if nginx is running
|
||||
if ! systemctl is-active --quiet nginx; then
|
||||
log_message "ERROR: Nginx is not running. Attempting to start..."
|
||||
systemctl start nginx
|
||||
if [ $? -eq 0 ]; then
|
||||
log_message "SUCCESS: Nginx restarted successfully"
|
||||
else
|
||||
log_message "CRITICAL: Failed to restart Nginx"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if the site responds
|
||||
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -m 10 "https://$DOMAIN" 2>/dev/null)
|
||||
|
||||
if [ "$HTTP_CODE" != "200" ]; then
|
||||
log_message "WARNING: Site returned HTTP $HTTP_CODE. Reloading nginx..."
|
||||
systemctl reload nginx
|
||||
sleep 2
|
||||
|
||||
# Check again
|
||||
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -m 10 "https://$DOMAIN" 2>/dev/null)
|
||||
if [ "$HTTP_CODE" = "200" ]; then
|
||||
log_message "SUCCESS: Site recovered after reload"
|
||||
else
|
||||
log_message "ERROR: Site still not responding properly (HTTP $HTTP_CODE)"
|
||||
fi
|
||||
else
|
||||
log_message "OK: Site is healthy (HTTP $HTTP_CODE)"
|
||||
fi
|
||||
Reference in New Issue
Block a user