14 lines
602 B
Python
14 lines
602 B
Python
"""用 docker cp 复制文件"""
|
|
import os, paramiko
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect("207.57.129.228", port=19717, username="root",
|
|
password=os.environ["REMOTE_PASS"],
|
|
timeout=30, allow_agent=False, look_for_keys=False)
|
|
|
|
# 直接用 docker cp
|
|
si, so, se = c.exec_command("bash -lc 'cd /srv/news && docker cp diag.sql $(docker compose ps -q postgres):/tmp/diag.sql && docker compose exec -T postgres psql -U $POSTGRES_USER -d $POSTGRES_DB -f /tmp/diag.sql'", timeout=30)
|
|
print(so.read().decode(errors="replace"))
|
|
|
|
c.close()
|