37 lines
1.1 KiB
Python
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()
|