当前位置:首页>Linux>Linux监控别再装Zabbix了!一个脚本搞定CPU+内存+磁盘告警(可直接用)

Linux监控别再装Zabbix了!一个脚本搞定CPU+内存+磁盘告警(可直接用)

  • 2026-07-02 23:50:02
Linux监控别再装Zabbix了!一个脚本搞定CPU+内存+磁盘告警(可直接用)

你被手机告警惊醒 —— 业务突然卡顿,用户投诉不断。

登录服务器后,你手忙脚乱排查:top 命令一看 CPU 使用率 100%,df 命令发现磁盘满到无法写入,内存也快耗尽……

折腾了 1 小时才解决,你是否会想:要是有个简单的监控脚本,能提前告警,何必要熬夜排错?

很多新手运维都有个误区:觉得系统监控必须搭建 zabbix、prometheus 这类复杂工具,门槛高、配置繁琐,小服务器根本用不上。

其实不然 ——一个简单的 Shell 脚本,就能搞定 CPU、内存、磁盘使用率的实时监控和告警,无需复杂部署,新手也能 10 分钟上手,完美解决 Linux 服务器基础监控需求,轻松实现 CPU 使用率告警、磁盘满告警。

本文将从 “核心命令→踩坑修复→脚本编写→告警配置→定时任务”,一步步教你编写属于自己的 Linux 监控脚本。

一、为什么需要这个监控脚本?

对于个人服务器、小型业务服务器,复杂监控系统的 “性价比太低”:

  • 部署复杂:zabbix 等工具需要安装服务端、客户端,配置流程繁琐,新手容易踩坑;
  • 资源占用:监控服务本身会消耗 CPU、内存,对于配置较低的服务器,反而增加负担;
  • 需求冗余:大多数小型服务器,只需要监控 CPU、内存、磁盘这 3 个核心指标,无需复杂的指标收集。

而我们编写的这个脚本,具备 3 个核心优势:

  1. 极简无依赖:基于 Linux 自带命令编写,无需安装任何额外软件,复制就能执行;
  2. 灵活可定制:阈值(告警临界值)可自由修改,适配不同服务器需求;
  3. 多渠道告警:支持邮件、企业微信告警,异常情况及时通知,不用实时盯服务器;
  4. 踩坑全修复:解决了不同系统 CPU 命令兼容问题、企业微信告警报错等高频问题。

一句话总结:花 10 分钟配置,换长期省心,再也不用手动排查 CPU、磁盘异常。

二、核心命令详解:获取 CPU、内存、磁盘使用率

脚本的核心,是通过 Linux 自带命令,精准获取 CPU、内存、磁盘的使用率,这是监控和告警的基础。每个命令都附带详细解读 + 踩坑修复,新手也能看懂原理,避免 “复制即用却不懂含义”。

2.1 获取 CPU 使用率

新手最常踩的坑:不同 Linux 发行版的top命令输出格式不同,导致命令执行后终端无任何输出。

这里给你 2 套方案,优先推荐全系统通用方案,彻底解决兼容问题。

方案 1:

# 获取CPU使用率(排除空闲进程,计算非空闲使用率)
cpu_usage=$(top -bn1 | grep '%Cpu' | sed 's/.*, *\([0-9.]*\)%* id.*/\1/' | awk '{print 100 - $1}' | awk -F. '{print $1"."$2}' | cut -c1-4)
echo"CPU使用率:$cpu_usage%"

方案 2:全系统通用 CPU 命令(推荐,无兼容问题)

基于内核 /proc/stat文件获取 CPU 统计信息,所有 Linux 系统通用,格式固定,不会因为 top版本差异出问题,结果更准确:

# 全系统通用:获取CPU使用率(采样1秒,结果更精准)
# 第一步:获取第一次CPU统计
cpu1=$(cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')
sleep 1
# 第二步:获取第二次CPU统计
cpu2=$(cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')

# 第三步:计算两次采样的差值,得出CPU使用率(保留1位小数)
cpu_usage=$(echo"$cpu1$cpu2" | awk '{
    idle1 = $4; total1 = $1+$2+$3+$4+$5+$6+$7;
    idle2 = $11; total2 = $8+$9+$10+$11+$12+$13+$14;
    idle = idle2 - idle1; total = total2 - total1;
    usage = 100 - (idle / total * 100);
    printf "%.1f", usage;
}'
)

# 输出结果
echo"CPU使用率:$cpu_usage%"
命令解读(新手可跳过,不影响使用)
  • /proc/stat
    :内核直接提供的 CPU 统计文件,格式固定,所有 Linux 系统通用;
  • 两次采样间隔 1 秒:计算的是 1 秒内的平均 CPU 使用率,比 top -bn1单次采样更精准;
  • awk
    计算:通过两次采样的空闲时间、总时间差值,算出真实使用率,避免 top格式兼容问题;
  • printf "%.1f"
    :保留 1 位小数,避免数值过长。

2.2 获取内存使用率(核心命令)

常用命令(精准计算内存使用率,排除缓存 / 缓冲,贴合实际使用场景,避免误告警):

# 获取内存总大小、已用大小(排除缓存、缓冲,计算真实使用率)
mem_total=$(free -m | grep Mem | awk '{print $2}')
mem_used=$(free -m | grep Mem | awk '{print $3 - $6 - $7}')
mem_usage=$(echo"scale=1; $mem_used / $mem_total * 100" | bc | cut -c1-4)
# 输出结果
echo"内存使用率:$mem_usage%"
命令解读
  • free -m
    :以 MB 为单位显示内存使用情况(更直观);
  • mem_total
    :内存总大小;
  • mem_used
    :实际已用内存(减去缓存、缓冲,避免 “缓存占用高就触发告警” 的误判);
  • bc
    :用于小数计算(Linux 默认不支持小数计算,需用 bc 工具,大多数系统自带)。

执行后效果:输出内存使用率,如 78.5(代表 78.5%)。

2.3 获取磁盘使用率(核心命令)

常用命令(监控根目录 /,可修改为其他目录,如 /data):

# 获取根目录/的磁盘使用率(可修改目录,如/dev/sda1对应的数据盘)
disk_usage=$(df -h | grep '/$' | awk '{print $5}' | sed 's/%//')
# 输出结果
echo"磁盘使用率:$disk_usage%"
命令解读
  • df -h
    :以人类可读的格式(如 GB、MB)显示磁盘使用情况;
  • grep '/$'
    :筛选根目录 /的磁盘信息(若需监控其他目录,可改为 grep '/data');
  • sed 's/%//'
    :去掉使用率后的 % 符号,方便后续数值比较(如 90,代表 90%)。

执行后效果:输出磁盘使用率,如 88(代表 88%)。

监控脚本核心 3 步口诀(好记好传播): 命令获取值,阈值做判断,告警送通知,定时保安全。

一句话记住:用自带命令拿指标,设好阈值判异常,触发后发告警,定时执行不中断。

三、实战:编写完整监控脚本

结合上面的核心命令,编写完整的监控脚本,包含 “指标获取→阈值判断→告警逻辑”、企业微信告警报错问题,新手可直接复制到服务器,修改阈值和告警配置即可使用。

3.1 脚本完整代码(命名为 monitor.sh)

#!/bin/bash
# Linux系统监控脚本:CPU+内存+磁盘使用率告警
# 作者:零距技术仓
# 核心功能:监控CPU、内存、磁盘使用率,超过阈值触发邮件/企业微信告警
# CPU命令全系统兼容、企业微信93000报错说明、小数计算异常
# 可直接复制执行,修改下方阈值和告警配置即可

##############################################################################
# 第一步:设置监控阈值(可根据自己服务器配置修改,新手推荐默认值)
##############################################################################
CPU_THRESHOLD=80    # CPU使用率阈值,超过此值告警(默认80%)
MEM_THRESHOLD=85    # 内存使用率阈值,超过此值告警(默认85%)
DISK_THRESHOLD=90   # 磁盘使用率阈值,超过此值告警(默认90%)

##############################################################################
# 第二步:获取当前CPU、内存、磁盘使用率(复用上面的核心命令)
##############################################################################
# 获取CPU使用率(全系统通用版,无兼容问题,推荐)
cpu1=$(cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')
sleep 1
cpu2=$(cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')
cpu_usage=$(echo"$cpu1$cpu2" | awk '{
    idle1 = $4; total1 = $1+$2+$3+$4+$5+$6+$7;
    idle2 = $11; total2 = $8+$9+$10+$11+$12+$13+$14;
    idle = idle2 - idle1; total = total2 - total1;
    usage = 100 - (idle / total * 100);
    printf "%.1f", usage;
}'
)

# 【备用】
cpu_usage=$(top -bn1 | grep '%Cpu' | sed 's/.*, *\([0-9.]*\)%* id.*/\1/' | awk '{print 100 - $1}' | awk -F. '{print $1"."$2}' | cut -c1-4)

# 获取内存使用率(保留1位小数,排除缓存)
mem_total=$(free -m | grep Mem | awk '{print $2}')
mem_used=$(free -m | grep Mem | awk '{print $3 - $6 - $7}')
mem_usage=$(echo"scale=1; $mem_used / $mem_total * 100" | bc | cut -c1-4)

# 获取根目录磁盘使用率(无小数,去掉%符号)
disk_usage=$(df -h | grep '/$' | awk '{print $5}' | sed 's/%//')

# 获取当前时间、服务器IP(用于告警信息)
current_time=$(date "+%Y-%m-%d %H:%M:%S")
server_ip=$(hostname -I | awk '{print $1}')

##############################################################################
# 第三步:告警信息编写(可自定义,清晰易懂即可)
##############################################################################
# 基础告警信息
alarm_info="【Linux服务器监控告警】
告警时间:$current_time
服务器IP:$server_ip
告警类型:系统资源使用率异常
--------------------------
CPU使用率:$cpu_usage% (阈值:$CPU_THRESHOLD%)
内存使用率:$mem_usage% (阈值:$MEM_THRESHOLD%)
磁盘使用率:$disk_usage% (阈值:$DISK_THRESHOLD%)
--------------------------
请及时登录服务器排查,避免影响业务正常运行!"


##############################################################################
# 第四步:阈值判断与告警触发(核心逻辑)
##############################################################################
# 定义告警标记(0=无告警,1=有告警)
alarm_flag=0

# 1. CPU使用率判断(兼容小数比较)
if (( $(echo"$cpu_usage > $CPU_THRESHOLD" | bc -l) )); then
echo"[$current_time] CPU使用率异常:$cpu_usage%,触发告警!"
    alarm_flag=1
fi

# 2. 内存使用率判断(兼容小数比较)
if (( $(echo"$mem_usage > $MEM_THRESHOLD" | bc -l) )); then
echo"[$current_time] 内存使用率异常:$mem_usage%,触发告警!"
    alarm_flag=1
fi

# 3. 磁盘使用率判断(整数比较)
if [ $disk_usage -gt $DISK_THRESHOLD ]; then
echo"[$current_time] 磁盘使用率异常:$disk_usage%,触发告警!"
    alarm_flag=1
fi

##############################################################################
# 第五步:告警通知(邮件/企业微信,二选一或同时启用,按需配置)
##############################################################################
# --------------------------
# 选项1:邮件告警(需配置服务器邮件发送功能)
# --------------------------
# 收件人邮箱(修改为自己的邮箱)
email_recipient="your_email@163.com"
# 邮件标题
email_subject="【Linux告警】服务器$server_ip 资源使用率异常"
# 触发告警时发送邮件
if [ $alarm_flag -eq 1 ]; then
echo"$alarm_info" | mail -s "$email_subject"$email_recipient
fi

# --------------------------
# 选项2:企业微信告警(推荐,实时推送,无需配置邮件)
# 常见报错:errcode:93000 解决方法见下文告警配置章节
# --------------------------
# 企业微信机器人webhook地址(修改为自己的机器人完整地址,不要只填key)
wechat_webhook="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_webhook_key"
# 企业微信告警消息格式(适配机器人推送,修复换行问题)
wechat_msg='{
    "msgtype": "text",
    "text": {
        "content": "'
"$alarm_info"'"
    }
}'

# 触发告警时推送企业微信消息(静默执行,不输出错误)
if [ $alarm_flag -eq 1 ]; then
    curl -s -H "Content-Type: application/json" -X POST -d "$wechat_msg""$wechat_webhook" > /dev/null 2>&1
fi

##############################################################################
# 第六步:脚本日志(可选,记录监控历史,便于排查)
##############################################################################
# 日志保存路径(可修改,确保目录存在)
log_path="/var/log/linux_monitor.log"
# 自动创建日志文件(避免目录不存在报错)
mkdir -p $(dirname $log_path)
touch $log_path
# 写入日志(格式:时间 服务器IP CPU 内存 磁盘 告警状态)
echo"[$current_time] 服务器IP:$server_ip | CPU:$cpu_usage% | 内存:$mem_usage% | 磁盘:$disk_usage% | 告警状态:$([ $alarm_flag -eq 1 ] && echo "异常" || echo "正常")" >> $log_path

3.2 脚本使用步骤(新手必看,一步都不能少)

  1. 创建脚本文件(用 vi 编辑器,简单易操作):

    vi /root/monitor.sh
  2. 复制上面的完整代码,粘贴到 vi 编辑器中(按 i进入编辑模式,粘贴后按 Esc,输入 :wq保存退出);

  3. 修改脚本中的关键配置(必做,否则告警无法生效):

    1. 邮件告警:修改 email_recipient为自己的邮箱(如 123456@163.com);
    2. 企业微信告警:修改 wechat_webhook为自己的企业微信机器人完整 webhook 地址(不要只填 key,完整复制)。
    1. 阈值配置:根据自己服务器配置修改 CPU_THRESHOLDMEM_THRESHOLDDISK_THRESHOLD(新手推荐默认值);
    2. 告警配置:二选一或同时启用
    3. 日志路径:默认 /var/log/linux_monitor.log,无需修改,脚本会自动创建日志文件。
  4. 给脚本添加执行权限(必须做,否则无法执行):

    chmod +x /root/monitor.sh
  5. 测试脚本(验证是否能正常执行,无报错):

    /root/monitor.sh

    执行后无报错,且日志文件 /var/log/linux_monitor.log中有记录,说明脚本正常。

四、告警配置详解(含报错修复,新手推荐企业微信)

脚本中提供了两种告警方式,新手推荐企业微信(配置简单、实时推送),邮件告警需要配置服务器邮件发送功能,稍复杂,下面分别讲解配置方法 + 踩坑修复。

4.1 企业微信告警配置(推荐,5 分钟搞定,含 93000 报错修复)

核心是获取企业微信机器人的完整 webhook 地址,步骤如下:

  1. 打开企业微信,进入需要接收告警的群聊;
  2. 点击群聊右上角「...」→「群机器人」→「添加机器人」;
  3. 给机器人命名(如 “Linux 监控告警”),点击「添加」,完整复制生成的 webhook 地址(格式:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxx);
  4. 将复制的完整 webhook 地址,替换脚本中 wechat_webhook的值(完整替换,不要只填 key,不要遗漏任何字符);
  5. 测试:手动修改脚本中的阈值(比如将 CPU 阈值改为 10%),执行脚本,若群聊收到告警消息,说明配置成功。

【高频报错修复】errcode:93000 invalid webhook url

你遇到的这个报错,99% 的原因是以下 3 种,按顺序排查即可解决:

  1. webhook 地址不完整
    :只填了 key,没有填完整的地址,必须完整复制机器人生成的 https://qyapi.weixin.qq.com/...完整链接;
  2. webhook 地址写错 / 复制不全
    :复制时遗漏了字符,或 key 写错,重新进入机器人页面,完整复制 webhook 地址;
  3. 机器人被删除 / 禁用
    :进入群聊机器人页面,检查机器人是否正常,若被删除,重新创建机器人即可;
  4. 服务器无法访问企业微信接口
    :测试服务器是否能访问公网,执行 curl https://qyapi.weixin.qq.com,若无法访问,检查服务器防火墙 / 网络配置。

注意:企业微信机器人 webhook 地址不要泄露,否则可能被恶意利用,导致群聊收到垃圾消息。

4.2 邮件告警配置(适合习惯用邮件的用户)

需要先在服务器上安装邮件发送工具(sendmail 或 postfix),以 CentOS 为例,步骤如下:

  1. 安装 sendmail(CentOS 默认自带,若没有则安装):
    yum install -y sendmail
  2. 启动 sendmail 服务,并设置开机自启:
    systemctl start sendmail
    systemctl enable sendmail
  3. 测试邮件发送(替换为自己的邮箱):
    echo"测试邮件" | mail -s "Linux监控测试" your_email@163.com
  4. 若能收到测试邮件,说明邮件配置成功,再执行监控脚本即可触发邮件告警。

注意:Ubuntu 系统安装命令为 apt install -y sendmail,其他系统可对应调整;若收不到邮件,检查邮箱垃圾箱,或配置 SMTP 授权码(163/QQ 邮箱需要)。

五、配置定时任务:让脚本自动执行(核心步骤)

脚本编写完成后,需要配置 Linux 定时任务(crontab),让脚本每分钟 / 每 5 分钟自动执行,实现 “实时监控、自动告警”,无需手动执行。

5.1 配置定时任务步骤

  1. 编辑 crontab 配置文件:
    crontab -e
  2. 在文件末尾添加定时任务(二选一,推荐每 5 分钟执行一次,减轻服务器压力):
    1. 每 5 分钟执行一次(推荐,个人 / 小型服务器足够):
      */5 * * * * /root/monitor.sh
    2. 每分钟执行一次(适合对监控实时性要求高的场景):
      * * * * * /root/monitor.sh
  3. 保存退出(按 Esc,输入 :wq);
  4. 重启 crontab 服务,确保定时任务生效:
    # CentOS系统
    systemctl restart crond
    systemctl enable crond

    # Ubuntu系统
    systemctl restart cron
    systemctl enable cron

5.2 定时任务解读(新手必懂)

crontab 定时任务的格式为:分 时 日 月 周 命令

  • */5 * * * *
    :代表每 5 分钟执行一次(*/n表示每 n 个单位);
  • * * * * *
    :代表每分钟执行一次;
  • /root/monitor.sh
    :脚本的绝对路径,必须写绝对路径,否则定时任务可能执行失败。

5.3 验证定时任务是否生效

等待 5 分钟(或 1 分钟)后,查看日志文件,若有新的监控记录,说明定时任务正常:

cat /var/log/linux_monitor.log

若日志中有最新的时间记录,且告警状态正常,说明定时任务配置成功。

六、常见问题与避坑指南

很多新手配置完脚本后,会遇到 “脚本不执行”“告警收不到”“CPU 命令无输出” 等问题,这里总结 6 个最常见的坑,以及对应的解决方法,帮你少走弯路。

生产环境 3 个必踩坑(重点记):

  1. 脚本无执行权限:忘记给脚本加 chmod +x,导致定时任务执行失败;
  2. 定时任务写相对路径:脚本路径写 monitor.sh,而非绝对路径 /root/monitor.sh
  3. 告警配置错误:企业微信 webhook 写错、邮件收件人写错,导致告警收不到。

记住一句话:脚本要有权限,路径要写绝对,告警配置要核对。

问题 1:CPU 命令执行后,终端无任何输出

  • 原因:top命令输出格式与 grep关键词不匹配(比如你的系统是 xCpu,命令采用了 Cpu(s));
  • 解决:
    • 优先使用本文提供的 /proc/stat 通用版 CPU 命令 ,彻底解决兼容问题;
    • 若要用 top命令,先执行 top -n1 | head -10,查看 CPU 行的标识(如 xCpu%Cpu),修改 grep后的关键词即可。

问题 2:脚本执行报错 “bc: command not found”

  • 原因:系统缺少 bc 工具(用于小数计算);
  • 解决:安装 bc 工具:
    # CentOS
    yum install -y bc

    # Ubuntu
    apt install -y bc

问题 3:定时任务不执行,日志无记录

  • 原因 1:脚本无执行权限,解决:chmod +x /root/monitor.sh
  • 原因 2:脚本路径写相对路径,解决:将 crontab 中的命令改为绝对路径 /root/monitor.sh
  • 原因 3:crontab 服务未启动,解决:重启 crontab 服务(见上文步骤)。

问题 4:企业微信告警报错 errcode:93000

  • 原因 & 解决:见本文 4.1 节的【高频报错修复】,99% 是 webhook 地址不完整 / 错误,重新复制完整地址即可解决。

问题 5:磁盘使用率计算错误,显示异常

  • 原因:脚本中监控的是根目录 /,若需要监控其他磁盘(如 /data),需修改磁盘命令;
  • 解决:将磁盘命令改为(替换 /data为自己需要监控的目录):
    disk_usage=$(df -h | grep '/data' | awk '{print $5}' | sed 's/%//')

问题 6:脚本执行后,企业微信收不到告警

  • 原因 1:脚本中 alarm_flag=0,没有达到告警阈值,不会触发告警;
  • 解决:临时修改阈值(如 CPU 阈值改为 10%),执行脚本测试。
  • 原因 2:curl 命令未安装,导致无法推送消息;
  • 解决:安装 curl:
  • # CentOS
    yum install -y curl

    # Ubuntu
    apt install -y curl

七、实用技巧与进阶优化

结合实战经验,补充几个实用技巧,让监控脚本更完善、更省心,适配更多场景。

  1. 自定义告警信息:可在 alarm_info中添加更多内容,如服务器主机名、异常进程信息(可添加 ps aux --sort=-%cpu | head -5获取 CPU 占用最高的 5 个进程);
  2. 调整阈值:根据服务器配置调整,比如低配服务器(1 核 2G),可将内存阈值改为 80%,避免误告警;
  3. 日志清理:脚本日志会不断增长,可结合 logrotate 工具,配置日志轮转,避免日志占满磁盘;
  4. 多目录监控:若需要监控多个磁盘目录(如 //data),可复制磁盘使用率的命令,修改目录后添加判断逻辑;
  5. 异常恢复通知:可在脚本中添加 “告警恢复” 逻辑,当资源使用率低于阈值时,发送恢复通知,避免一直担心;
  6. 钉钉 / 飞书告警:只需修改企业微信告警部分的 curl 请求格式,即可适配钉钉、飞书机器人,实现多平台告警。

如果你觉得本文对你有帮助,欢迎点赞、推荐、转发,关注我,后续会分享更多Linux入门干货!

文 / 零距技术仓
记录每一次真实的折腾 (#^.^#)

🚀 想看到更多实用折腾技巧?
👉 先关注
💬 评论区说说你的经历或想看的内容
👍 点赞表示支持
🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-04 06:45:02 HTTP/2.0 GET : https://f.mffb.com.cn/a/489852.html
  2. 运行时间 : 0.095505s [ 吞吐率:10.47req/s ] 内存消耗:4,765.11kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=bebb5c5dbe190a767355deca3f43d3ce
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000584s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000852s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000334s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000282s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000485s ]
  6. SELECT * FROM `set` [ RunTime:0.000208s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000721s ]
  8. SELECT * FROM `article` WHERE `id` = 489852 LIMIT 1 [ RunTime:0.000607s ]
  9. UPDATE `article` SET `lasttime` = 1783118702 WHERE `id` = 489852 [ RunTime:0.013729s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000286s ]
  11. SELECT * FROM `article` WHERE `id` < 489852 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000473s ]
  12. SELECT * FROM `article` WHERE `id` > 489852 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000374s ]
  13. SELECT * FROM `article` WHERE `id` < 489852 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004899s ]
  14. SELECT * FROM `article` WHERE `id` < 489852 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001124s ]
  15. SELECT * FROM `article` WHERE `id` < 489852 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003438s ]
0.097031s