47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
|
|
"""Verify Nginx config: compare sites-enabled/gfil vs sites-available/gfil"""
|
||
|
|
import paramiko
|
||
|
|
|
||
|
|
JD_HOST = "111.228.37.165"
|
||
|
|
JD_USER = "root"
|
||
|
|
JD_PASS = "Liudecai110"
|
||
|
|
|
||
|
|
LAB_HOST = "216.144.233.14"
|
||
|
|
LAB_USER = "root"
|
||
|
|
LAB_PASS = "Kt9V72Tx2c48ChikKU"
|
||
|
|
|
||
|
|
jd = paramiko.SSHClient()
|
||
|
|
jd.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||
|
|
jd.connect(JD_HOST, port=22, username=JD_USER, password=JD_PASS,
|
||
|
|
timeout=20, banner_timeout=60, allow_agent=False, look_for_keys=False)
|
||
|
|
|
||
|
|
cmd = f"""sshpass -p '{LAB_PASS}' ssh -o StrictHostKeyChecking=no {LAB_USER}@{LAB_HOST} '
|
||
|
|
echo "=== Diff: sites-enabled vs sites-available ==="
|
||
|
|
diff /etc/nginx/sites-enabled/gfil /etc/nginx/sites-available/gfil && echo "IDENTICAL" || echo "DIFFERENT"
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=== sites-available/gfil (original, date) ==="
|
||
|
|
ls -la /etc/nginx/sites-available/gfil
|
||
|
|
stat /etc/nginx/sites-available/gfil | grep -i modify
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=== sites-enabled/gfil (current, date) ==="
|
||
|
|
ls -la /etc/nginx/sites-enabled/gfil
|
||
|
|
stat /etc/nginx/sites-enabled/gfil | grep -i modify
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=== Full current config ==="
|
||
|
|
cat /etc/nginx/sites-enabled/gfil
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=== Nginx status ==="
|
||
|
|
nginx -t 2>&1
|
||
|
|
systemctl status nginx --no-pager | head -5
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=== Site response ==="
|
||
|
|
curl -s -o /dev/null -w "HTTP_code:%{{http_code}} Size:%{{size_download}}" http://localhost/ 2>/dev/null
|
||
|
|
'"""
|
||
|
|
stdin, stdout, stderr = jd.exec_command(cmd, timeout=30)
|
||
|
|
print(stdout.read().decode())
|
||
|
|
jd.close()
|