42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
# -*- coding: utf-8 -*-
|
||
|
|
import paramiko
|
||
|
|
|
||
|
|
client = paramiko.SSHClient()
|
||
|
|
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||
|
|
client.connect('42.194.232.22', port=22022, username='root', password='Zhiqun1984', timeout=15)
|
||
|
|
|
||
|
|
print("=== PM2 soul 日志(最后 50 行)===")
|
||
|
|
cmd = "pm2 logs soul --lines 50 --nostream 2>&1 | tail -50"
|
||
|
|
stdin, stdout, stderr = client.exec_command(cmd, timeout=10)
|
||
|
|
result = stdout.read().decode('utf-8', errors='replace')
|
||
|
|
result = result.encode('ascii', errors='replace').decode('ascii')
|
||
|
|
print(result)
|
||
|
|
|
||
|
|
print("\n=== PM2 soul 错误日志 ===")
|
||
|
|
cmd = "pm2 logs soul --err --lines 30 --nostream 2>&1 | tail -30"
|
||
|
|
stdin, stdout, stderr = client.exec_command(cmd, timeout=10)
|
||
|
|
result = stdout.read().decode('utf-8', errors='replace')
|
||
|
|
result = result.encode('ascii', errors='replace').decode('ascii')
|
||
|
|
print(result)
|
||
|
|
|
||
|
|
print("\n=== 检查 server.js 文件 ===")
|
||
|
|
cmd = "ls -lh /www/wwwroot/soul/server.js"
|
||
|
|
stdin, stdout, stderr = client.exec_command(cmd, timeout=10)
|
||
|
|
result = stdout.read().decode('utf-8', errors='replace')
|
||
|
|
print(result)
|
||
|
|
|
||
|
|
print("\n=== 检查 .next 目录结构 ===")
|
||
|
|
cmd = "ls -lh /www/wwwroot/soul/.next/ | head -20"
|
||
|
|
stdin, stdout, stderr = client.exec_command(cmd, timeout=10)
|
||
|
|
result = stdout.read().decode('utf-8', errors='replace')
|
||
|
|
print(result)
|
||
|
|
|
||
|
|
print("\n=== 检查端口 30006 ===")
|
||
|
|
cmd = "curl -I http://127.0.0.1:30006 2>&1 | head -10"
|
||
|
|
stdin, stdout, stderr = client.exec_command(cmd, timeout=10)
|
||
|
|
result = stdout.read().decode('utf-8', errors='replace')
|
||
|
|
print(result)
|
||
|
|
|
||
|
|
client.close()
|