Erste Version - Prüft und lädt bei Fehlerfreiheit die NGINX Config neu
Da ich viel einzelne Configs habe, hilft dieses Script den Workflow einfacher zu halten. Geschrieben mit Opus 4. Prompt: write a short bash shell script that reloads nginx and tests the config before the command for the reload is service nginx reload the test is nginx -t since the nginx config is fragmented acress a number of referenced files, help me figure out which part has the config error and show the the path to the file
This commit is contained in:
parent
0f867a5f8b
commit
f5bf287659
1 changed files with 39 additions and 0 deletions
39
ng+
Normal file
39
ng+
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# nginx-safe-reload.sh
|
||||||
|
# Safely reload nginx by testing configuration first
|
||||||
|
|
||||||
|
echo "Testing nginx configuration..."
|
||||||
|
|
||||||
|
# Test nginx configuration and capture output
|
||||||
|
test_output=$(nginx -t 2>&1)
|
||||||
|
test_result=$?
|
||||||
|
|
||||||
|
if [ $test_result -eq 0 ]; then
|
||||||
|
echo "✓ Configuration test passed"
|
||||||
|
echo "Reloading nginx..."
|
||||||
|
|
||||||
|
# Reload nginx service
|
||||||
|
if service nginx reload; then
|
||||||
|
echo "✓ nginx reloaded successfully"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "✗ Failed to reload nginx service"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "✗ Configuration test failed - nginx NOT reloaded"
|
||||||
|
echo
|
||||||
|
echo "Error details:"
|
||||||
|
echo "$test_output"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Try to extract and highlight the problematic file
|
||||||
|
error_file=$(echo "$test_output" | grep -o 'in /[^:]*' | head -1 | sed 's/in //')
|
||||||
|
if [ -n "$error_file" ]; then
|
||||||
|
echo "🔍 Check this file: $error_file"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Please fix configuration errors before reloading"
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
Add table
Reference in a new issue