Update code
This commit is contained in:
50
mcp-server-ssh/check_fresh_logs.js
Normal file
50
mcp-server-ssh/check_fresh_logs.js
Normal file
@@ -0,0 +1,50 @@
|
||||
import { Client } from "ssh2";
|
||||
|
||||
const SSH_CONFIG = {
|
||||
host: "119.45.10.34",
|
||||
port: 22,
|
||||
username: "root",
|
||||
password: "#xyzh%CS#2512@28",
|
||||
readyTimeout: 10000,
|
||||
};
|
||||
|
||||
function sshExec(command) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const conn = new Client();
|
||||
let stdout = "";
|
||||
let stderr = "";
|
||||
conn.on("ready", () => {
|
||||
conn.exec(command, (err, stream) => {
|
||||
if (err) { conn.end(); return reject(err); }
|
||||
stream.on("close", (code) => { conn.end(); resolve({ stdout, stderr, code }); });
|
||||
stream.on("data", (d) => { stdout += d.toString(); });
|
||||
stream.stderr.on("data", (d) => { stderr += d.toString(); });
|
||||
});
|
||||
}).on("error", (err) => reject(err)).connect(SSH_CONFIG);
|
||||
});
|
||||
}
|
||||
|
||||
async function main() {
|
||||
console.log("=== 检查 PM2 状态 ===");
|
||||
const pm2Status = await sshExec("pm2 list");
|
||||
console.log(pm2Status.stdout);
|
||||
|
||||
console.log("\n=== 检查语法(在服务器上直接运行 node --check) ===");
|
||||
const checkSyntax = await sshExec("cd /www/wwwroot/demo.tensorgrove.com.cn && node --check server/routes/voice.js 2>&1 || echo 'Check complete'");
|
||||
console.log(checkSyntax.stdout);
|
||||
console.log(checkSyntax.stderr);
|
||||
|
||||
console.log("\n=== 健康检查 ===");
|
||||
const health = await sshExec("curl -s http://127.0.0.1:3012/api/health 2>&1");
|
||||
console.log("Health Check:", health.stdout);
|
||||
|
||||
console.log("\n=== 最近一次通话的服务器日志 ===");
|
||||
const logs = await sshExec("pm2 logs bigwo-server --nostream --lines 100");
|
||||
console.log(logs.stdout);
|
||||
|
||||
console.log("\n=== 错误日志 ===");
|
||||
const errorLogs = await sshExec("tail -n 100 /var/log/bigwo/server-error.log");
|
||||
console.log(errorLogs.stdout);
|
||||
}
|
||||
|
||||
main().catch(e => { console.error("Fatal:", e.message); process.exit(1); });
|
||||
Reference in New Issue
Block a user