#!/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()