102 lines
3.1 KiB
Markdown
102 lines
3.1 KiB
Markdown
|
|
# 3 种方法在服务器上跑诊断脚本
|
||
|
|
|
||
|
|
**目标**:在 10.90.5.110 服务器上跑 diagnose-500.sh,把输出粘回给我
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 方法 1(推荐):PuTTY 连进去,一行命令恢复 + 跑
|
||
|
|
|
||
|
|
**步骤 1**:PuTTY 客户端
|
||
|
|
- Host:`10.212.189.210`,Port:`2222`,SSH → Open
|
||
|
|
- 用户 `sxn` + 密码
|
||
|
|
- 堡垒机内再 `ssh sxn@10.90.5.110` 跳目标机
|
||
|
|
|
||
|
|
**步骤 2**:服务器内贴这一行(整段一次性):
|
||
|
|
```bash
|
||
|
|
cat > /tmp/diag.sh << 'ENDOFSCRIPT'
|
||
|
|
#!/bin/bash
|
||
|
|
docker compose ps
|
||
|
|
echo "---"
|
||
|
|
ls -la /opt/wecom-it-desk/frontend-h5/dist/ 2>&1 | head -10
|
||
|
|
echo "--- assets ---"
|
||
|
|
ls -la /opt/wecom-it-desk/frontend-h5/dist/assets/ 2>&1 | head -10
|
||
|
|
echo "--- nginx 容器内 ---"
|
||
|
|
docker compose exec nginx ls -la /usr/share/nginx/html/itdesk/ 2>&1 | head -10
|
||
|
|
echo "--- nginx 容器内 assets ---"
|
||
|
|
docker compose exec nginx ls -la /usr/share/nginx/html/itdesk/assets/ 2>&1 | head -10
|
||
|
|
echo "--- SSL ---"
|
||
|
|
docker compose exec nginx ls -la /etc/nginx/ssl/ 2>&1 | head -10
|
||
|
|
echo "--- /itdesk/ 头 ---"
|
||
|
|
curl -ksI https://itsupport.servyou.com.cn/itdesk/ 2>&1 | head -8
|
||
|
|
echo "--- /itportal/ 头 ---"
|
||
|
|
curl -ksI https://itsupport.servyou.com.cn/itportal/ 2>&1 | head -8
|
||
|
|
echo "--- /itagent/ 头 ---"
|
||
|
|
curl -ksI https://itsupport.servyou.com.cn/itagent/ 2>&1 | head -8
|
||
|
|
echo "--- /itadmin/ 头 ---"
|
||
|
|
curl -ksI https://itsupport.servyou.com.cn/itadmin/ 2>&1 | head -8
|
||
|
|
echo "--- /itdesk/ 完整 body 前 20 行 ---"
|
||
|
|
curl -ks https://itsupport.servyou.com.cn/itdesk/ 2>&1 | head -20
|
||
|
|
echo "--- nginx 错误日志 ---"
|
||
|
|
docker compose exec nginx tail -30 /var/log/nginx/error.log 2>&1
|
||
|
|
echo "--- nginx 访问日志 ---"
|
||
|
|
docker compose exec nginx tail -20 /var/log/nginx/access.log 2>&1
|
||
|
|
echo "--- backend 日志 ---"
|
||
|
|
docker compose logs --tail=20 backend 2>&1
|
||
|
|
ENDOFSCRIPT
|
||
|
|
bash /tmp/diag.sh 2>&1
|
||
|
|
```
|
||
|
|
|
||
|
|
**步骤 3**:把输出整段粘回给我
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 方法 2:用 scp 上传本地脚本
|
||
|
|
|
||
|
|
**前提**:你能 scp 到 10.90.5.110(堡垒机后的方式)
|
||
|
|
|
||
|
|
```bash
|
||
|
|
scp "C:\Users\simon\Downloads\diagnose-500 (1).sh" sxn@10.90.5.110:/tmp/
|
||
|
|
# (如果直连 scp 不通,可能要用堡垒机的文件传输功能)
|
||
|
|
```
|
||
|
|
|
||
|
|
然后 PuTTY 连进去跑:
|
||
|
|
- Host:`10.212.189.210`,Port:`2222`,SSH → Open
|
||
|
|
- 堡垒机内 `ssh sxn@10.90.5.110` 跳目标机
|
||
|
|
```bash
|
||
|
|
sudo cp /tmp/diagnose-500.sh /opt/wecom-it-desk/
|
||
|
|
cd /opt/wecom-it-desk
|
||
|
|
bash diagnose-500.sh > /tmp/diag.log 2>&1
|
||
|
|
cat /tmp/diag.log
|
||
|
|
```
|
||
|
|
|
||
|
|
把 `cat /tmp/diag.log` 的输出粘回
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 方法 3:服务器直接下载(若服务器能上外网)
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# PuTTY 连:Host 10.212.189.210 Port 2222 → 堡垒机内 ssh sxn@10.90.5.110
|
||
|
|
cd /tmp
|
||
|
|
# 如果服务器能访问 GitHub raw / Gitea
|
||
|
|
curl -O https://你的存放点/diagnose-500.sh
|
||
|
|
bash diagnose-500.sh > /tmp/diag.log 2>&1
|
||
|
|
cat /tmp/diag.log
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 最简版(只要 5 行输出)
|
||
|
|
|
||
|
|
如果方法 1 太长,**只要这 5 行**就够我定位:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
docker compose ps 2>&1
|
||
|
|
ls -la /opt/wecom-it-desk/frontend-h5/dist/assets/ 2>&1
|
||
|
|
docker compose exec nginx ls -la /usr/share/nginx/html/itdesk/ 2>&1
|
||
|
|
docker compose exec nginx tail -10 /var/log/nginx/error.log 2>&1
|
||
|
|
curl -ksI https://itsupport.servyou.com.cn/itdesk/ 2>&1 | head -8
|
||
|
|
```
|
||
|
|
|
||
|
|
**把这 5 段输出粘回,我能立刻定位 500 原因。**
|