almeira-web/vps_sql_runner.py

37 lines
1.1 KiB
Python

import paramiko
import sys
import io
if sys.platform == 'win32':
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8', errors='replace')
HOST = "161.97.93.156"
USER = "carlos"
PASSWORD = "Innova1978+*?"
MARIADB_CONTAINER = "appwrite-mariadb-sss6crntvrcs54qbhvhy5728"
DB_PASS = "sn9YkZqoLV06CQxAy2qsKi36S7POVShT"
DB_USER = "sYoHWwl0DGvEyt3s"
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=HOST, username=USER, password=PASSWORD, timeout=30)
sql = sys.argv[1] if len(sys.argv) > 1 else 'SHOW TABLES;'
# Write sql to remote /tmp/query.sql and execute
sftp = client.open_sftp()
with sftp.file('/tmp/query.sql', 'w') as f:
f.write(sql)
sftp.close()
cmd = f'docker exec -i {MARIADB_CONTAINER} mysql -u {DB_USER} -p{DB_PASS} appwrite < /tmp/query.sql'
stdin, stdout, stderr = client.exec_command(cmd)
for line in stdout:
print(line.strip())
for line in stderr:
print("[ERR]:", line.strip())
client.close()