59 lines
2.6 KiB
Python
59 lines
2.6 KiB
Python
import paramiko
|
|
|
|
def fix_argo():
|
|
# 1. Update on swm01 (140.44.4.71)
|
|
ssh1 = paramiko.SSHClient()
|
|
ssh1.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
ssh1.connect('140.44.4.71', username='snarf', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
|
|
|
|
print("--- Backing up SQLite DB and 39.conf ---")
|
|
cmd_backup = """
|
|
sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') sh -c "
|
|
cp /data/database.sqlite /data/database.sqlite.bak.argo &&
|
|
cp /data/nginx/proxy_host/39.conf /data/nginx/proxy_host/39.conf.bak
|
|
"
|
|
"""
|
|
stdin, stdout, stderr = ssh1.exec_command(cmd_backup)
|
|
print("Backup stdout:", stdout.read().decode())
|
|
print("Backup stderr:", stderr.read().decode())
|
|
|
|
print("--- Updating SQLite DB ---")
|
|
cmd_db = """
|
|
sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') sh -c "
|
|
python3 -c \\\"import sqlite3; con = sqlite3.connect('/data/database.sqlite'); cur = con.cursor(); cur.execute('UPDATE proxy_host SET forward_host=\\\'140.44.4.62\\\' WHERE id=39'); con.commit(); con.close(); print('DB updated successfully')\\\"
|
|
"
|
|
"""
|
|
stdin, stdout, stderr = ssh1.exec_command(cmd_db)
|
|
print("DB stdout:", stdout.read().decode())
|
|
print("DB stderr:", stderr.read().decode())
|
|
|
|
print("--- Updating 39.conf ---")
|
|
cmd_conf = """
|
|
sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') sh -c "
|
|
sed -i 's/140.44.4.51/140.44.4.62/g' /data/nginx/proxy_host/39.conf
|
|
"
|
|
"""
|
|
stdin, stdout, stderr = ssh1.exec_command(cmd_conf)
|
|
print("Conf sed stdout:", stdout.read().decode())
|
|
print("Conf sed stderr:", stderr.read().decode())
|
|
|
|
print("--- Reloading NGINX on swm01 ---")
|
|
stdin, stdout, stderr = ssh1.exec_command("sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') nginx -s reload")
|
|
print("Reload swm01 stdout:", stdout.read().decode())
|
|
print("Reload swm01 stderr:", stderr.read().decode())
|
|
ssh1.close()
|
|
|
|
# 2. Reload on swm02 (140.44.4.72)
|
|
ssh2 = paramiko.SSHClient()
|
|
ssh2.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
ssh2.connect('140.44.4.72', username='snarf', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
|
|
print("--- Reloading NGINX on swm02 ---")
|
|
stdin, stdout, stderr = ssh2.exec_command("sudo docker exec $(sudo docker ps -q --filter 'name=nginx-proxy-manager_app') nginx -s reload")
|
|
print("Reload swm02 stdout:", stdout.read().decode())
|
|
print("Reload swm02 stderr:", stderr.read().decode())
|
|
ssh2.close()
|
|
|
|
if __name__ == '__main__':
|
|
fix_argo()
|
|
|