Linux资料库
常用命令分类索引
常用命令分类整理(不包含详情)
用户及用户组管理
top命令的基本使用
命令大全示例
书籍学习笔记
菜鸟教程学习笔记
10个实用的shell脚本
linux服务器优化
监控应用服务端口并发量
记录正在执行的SQL
本文档使用 MrDoc 发布
-
+
首页
监控应用服务端口并发量
# 创建jhmonitor.sh文件 ```bash #!/bin/bash #creator jzn 20240910 ver:1.0 # 记录日志位置 LOG_DIR="/work/log/" INTERVAL=2 while true; do # 按日期创建文件夹 current_date=$(date +"%Y-%m-%d") LOG_DIR_DAY=$LOG_DIR$current_date if [ ! -d "$LOG_DIR_DAY" ]; then mkdir -p "$LOG_DIR_DAY" fi # 文件夹下对应日志清单名 LOG_FILE="$LOG_DIR_DAY/jhPortMonitor$current_date.log" LOG_TOP_FILE="$LOG_DIR_DAY/jhTopMonitor$current_date.log" # 记录信息 STR_HOST=$(hostname) DATE=$(date +"%Y-%m-%d %H:%M:%S") CPU=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}') MEM=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }') DISK=$(df -h | awk '$NF=="/"{printf "%s", $5}') NET63=$(netstat -an | grep :6003 | wc -l) NET64=$(netstat -an | grep :6004 | wc -l) NET66=$(netstat -an | grep :6006 | wc -l) NET69=$(netstat -an | grep :6009 | wc -l) C_TOP=$(top -b -n 1 | awk 'NR>7 {print}' | head -n 10) echo "$DATE $STR_HOST DBs6003=$NET63,DBx6004=$NET64,xds6006=$NET66,be6009=$NET69; CPU: $CPU, Memory: $MEM, Disk: $DISK " >> $LOG_FILE echo -e "$DATE \n $C_TOP" >> $LOG_TOP_FILE sleep $INTERVAL done ``` # 后台执行 ```bash # 方式一 退出终端,它不继续运行 ./jhmonitor.sh & # 方式二 退出终端,它也会继续运行 nohup ./jhmonitor.sh & ``` # 实时查看日志 ```bash tail -f nohup.out ```
孙端己
2024年9月14日 09:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码