38 lines
1.2 KiB
Python
38 lines
1.2 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"
|
|
|
|
def run_sql(sql):
|
|
client = paramiko.SSHClient()
|
|
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
client.connect(hostname=HOST, username=USER, password=PASSWORD, timeout=30)
|
|
|
|
cmd = f'docker exec -i {MARIADB_CONTAINER} mysql -u {DB_USER} -p{DB_PASS} appwrite -e "{sql}"'
|
|
stdin, stdout, stderr = client.exec_command(cmd)
|
|
|
|
out = stdout.read().decode('utf-8', errors='replace')
|
|
err = stderr.read().decode('utf-8', errors='replace')
|
|
client.close()
|
|
|
|
if out:
|
|
print(out)
|
|
if err:
|
|
print("[ERR]:", err, file=sys.stderr)
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) > 1:
|
|
run_sql(sys.argv[1])
|
|
else:
|
|
run_sql("SELECT COUNT(*) FROM _4_attributes;")
|