62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
import subprocess, os
|
|
|
|
NEW_SERVER = "172.30.18.199"
|
|
KEY_CONTENT = """-----BEGIN OPENSSH PRIVATE KEY-----
|
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
|
QyNTUxOQAAACD6GquAk5vBEfbtaJCTSfnQEhjzC8e5GF60hSbPP0BJbAAAAJiQxGNokMRj
|
|
aAAAAAtzc2gtZWQyNTUxOQAAACD6GquAk5vBEfbtaJCTSfnQEhjzC8e5GF60hSbPP0BJbA
|
|
AAAED2muzuU4BAiCqbg0ayGxgiDvfS/xI1SFvb32oLzTnn8/oaq4CTm8ER9u1okJNJ+dAS
|
|
GPMLx7kYXrSFJs8/QElsAAAAFHJ1bm5lci1hZG1pbkB4aWFveGlhAQ==
|
|
-----END OPENSSH PRIVATE KEY-----
|
|
"""
|
|
|
|
key_path = "/tmp/new_server_ed25519"
|
|
with open(key_path, "w") as f:
|
|
f.write(KEY_CONTENT)
|
|
os.chmod(key_path, 0o600)
|
|
|
|
def ssh(cmd, timeout=30):
|
|
r = subprocess.run(
|
|
f'ssh -i {key_path} -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@{NEW_SERVER} "{cmd}"',
|
|
shell=True, capture_output=True, text=True, timeout=timeout
|
|
)
|
|
return r.returncode, r.stdout.strip(), r.stderr.strip()
|
|
|
|
print("=" * 50)
|
|
print("新服务器环境最终核验")
|
|
print("=" * 50)
|
|
|
|
print("\n1. 系统信息")
|
|
rc, out, err = ssh("cat /etc/os-release | head -3 && echo '---' && uname -r")
|
|
print(out)
|
|
|
|
print("\n2. Node.js")
|
|
rc, out, err = ssh("node --version && npm --version && which node")
|
|
print(out)
|
|
|
|
print("\n3. Python")
|
|
rc, out, err = ssh("python3 --version && which python3")
|
|
print(out)
|
|
|
|
print("\n4. Docker")
|
|
rc, out, err = ssh("docker --version && docker images | head -5")
|
|
print(out)
|
|
|
|
print("\n5. CMD Agent服务")
|
|
rc, out, err = ssh("systemctl status cmd-agent --no-pager | head -10 && echo '---' && ss -tlnp | grep python || ss -tlnp | grep 5000 || echo 'no python port'")
|
|
print(out)
|
|
|
|
print("\n6. CMD Agent server.py内容(看端口)")
|
|
rc, out, err = ssh("grep -n 'port\\|5927\\|5000\\|app.run\\|host=' /opt/cmd-agent/server.py 2>/dev/null || echo 'file not found'")
|
|
print(out)
|
|
|
|
print("\n7. 6个Runner状态")
|
|
rc, out, err = ssh("systemctl list-units 'act-runner-*' --no-legend")
|
|
print(out)
|
|
|
|
print("\n8. Runner二进制版本")
|
|
rc, out, err = ssh("ls -lh /opt/act-runner/ && echo '---' && /opt/act-runner/act_runner --version 2>&1 || /opt/act-runner/act_runner_v0.2.6 --version 2>&1 || echo 'version check failed'")
|
|
print(out)
|
|
|
|
print("\n全部检查完成!")
|