Files
random_scripts/inotify/opt/nginx_change_monitor.sh

22 lines
736 B
Bash

#!/bin/bash
TARGET_DIR="/etc/nginx/live/"
LOG_FILE="/var/log/nginx_change_monitor.log"
reload_nginx_if_valid() {
echo "Checking Nginx configuration..." | tee -a "$LOG_FILE"
if nginx -t &>> "$LOG_FILE"; then
echo "Nginx configuration test successful. Reloading Nginx..." | tee -a "$LOG_FILE"
nginx -s reload
else
echo "Nginx configuration test failed. No changes applied." | tee -a "$LOG_FILE"
fi
}
echo "Starting Nginx change monitor for directory: $TARGET_DIR" | tee -a "$LOG_FILE"
inotifywait -m -r -e modify,create,delete --format '%w%f %e' "$TARGET_DIR" | while read FILE EVENT
do
echo "Change detected in $FILE ($EVENT) at $(date)" | tee -a "$LOG_FILE"
reload_nginx_if_valid
done