Files
SnarfCode/scripts/test_clean_db_dumps.py
2026-11-03 14:32:06 -05:00

41 lines
1.9 KiB
Python

import paramiko
import sys
sys.stdout.reconfigure(encoding='utf-8')
# Authentik
print("=== Backing up Authentik ===")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('140.44.4.11', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
cmd = "kubectl exec -n infra authentik-postgresql-0 -- sh -c 'PGPASSWORD=$(cat /opt/bitnami/postgresql/secrets/postgres-password) pg_dump -U postgres authentik' | gzip > /var/backups/authentik_clean.sql.gz"
stdin, stdout, stderr = ssh.exec_command(cmd)
err = stderr.read().decode().strip()
if err: print("Authentik err:", err)
_, out, _ = ssh.exec_command("ls -lh /var/backups/authentik_clean.sql.gz")
print("Authentik size:", out.read().decode().strip())
ssh.close()
# Spaceport (Gitea & Zabbix)
print("=== Backing up Gitea & Zabbix ===")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('140.44.4.41', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
cmd = "mkdir -p /var/backups && kubectl exec -n infrastructure gitea-postgresql-0 -- sh -c 'PGPASSWORD=$(cat /opt/bitnami/postgresql/secrets/password) pg_dump -U ugandanese baptiste' | gzip > /var/backups/gitea_clean.sql.gz"
stdin, stdout, stderr = ssh.exec_command(cmd)
err = stderr.read().decode().strip()
if err: print("Gitea err:", err)
_, out, _ = ssh.exec_command("ls -lh /var/backups/gitea_clean.sql.gz")
print("Gitea size:", out.read().decode().strip())
cmd = "kubectl exec -n monitoring zabbix-postgresql-0 -- sh -c 'PGPASSWORD=zabbix pg_dump -U zabbix zabbix' | gzip > /var/backups/zabbix_clean.sql.gz"
stdin, stdout, stderr = ssh.exec_command(cmd)
err = stderr.read().decode().strip()
if err: print("Zabbix err:", err)
_, out, _ = ssh.exec_command("ls -lh /var/backups/zabbix_clean.sql.gz")
print("Zabbix size:", out.read().decode().strip())
ssh.close()