本文目录导读:

- 全能型系统信息收集脚本(Linux)
- 轻量级快速巡检脚本(适合Docker/容器环境)
- 跨平台收集(适用于Mac + Linux)
- 收集到JSON格式(便于集成监控系统)
- 极简版(适合写入脚本开头做快速记录)
- 扩展建议
全能型系统信息收集脚本(Linux)
这个脚本会生成一份完整的系统报告,适合日常巡检或故障排查。
#!/bin/bash
# 文件名: sys_info.sh
# 功能: 收集Linux系统关键信息并输出到屏幕或文件
echo "==================== 系统基本信息 ===================="
echo "主机名: $(hostname)"
echo "操作系统: $(cat /etc/os-release 2>/dev/null | grep -w PRETTY_NAME | cut -d= -f2 | tr -d '\"')"
echo "内核版本: $(uname -r)"
echo "架构: $(uname -m)"
echo "当前时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "开机时间: $(uptime -s)" 2>/dev/null || echo "开机时间: $(uptime | awk '{print $1}')"
echo ""
echo "==================== CPU 信息 ===================="
echo "CPU型号: $(lscpu | grep 'Model name' | awk -F': ' '{print $2}')"
echo "CPU核心数: $(nproc)"
echo "CPU负载: $(uptime | awk -F'load average:' '{print $2}')"
echo ""
echo "==================== 内存信息 ===================="
free -h | awk 'NR==1{print $0} NR==2{print $0} NR==3{print $0}'
echo ""
echo "==================== 磁盘信息 ===================="
df -h | grep -v 'tmpfs\|overlay\|loop' # 过滤不必要的伪文件系统
echo ""
echo "==================== 网络信息 ===================="
echo "IP地址: $(hostname -I | awk '{print $1}')"
echo "MAC地址: $(ip link show | grep -E 'link/ether' | awk '{print $2}')"
echo "活动连接数: $(ss -tun | wc -l)" # 统计TCP/UDP连接数
echo ""
echo "==================== 进程与用户 ===================="
echo "当前登录用户: $(who | wc -l) 人"
echo "总进程数: $(ps aux | wc -l)"
echo "Top 5 内存占用进程:"
ps aux --sort=-%mem | head -6 | tail -5 # 不包含表头
echo ""
echo "==================== 安全与日志 ===================="
echo "最近5条登录失败记录:"
lastb 2>/dev/null | head -5 || echo "无记录(可能需要sudo权限)"
echo "最近5条成功登录记录:"
last -5
使用方法:
chmod +x sys_info.sh ./sys_info.sh # 如果需要重定向到文件: ./sys_info.sh > system_report_$(date +%Y%m%d_%H%M).txt
轻量级快速巡检脚本(适合Docker/容器环境)
针对资源敏感环境,只输出最核心的指标。
#!/bin/bash
# 快速巡检: 输出CPU、内存、磁盘的百分比使用率
echo "时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "主机名: $(hostname)"
# CPU使用率(通过top命令计算)
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
echo "CPU使用率: ${cpu_usage}%"
# 内存使用率
mem_usage=$(free | awk '/Mem/{printf("%.2f"), $3/$2 * 100}')
echo "内存使用率: ${mem_usage}%"
# 磁盘使用率(根分区)
disk_usage=$(df / | awk 'NR==2{print $5}' | tr -d '%')
echo "根分区磁盘使用率: ${disk_usage}%"
# 网络流量(简单版)
if [ -f /proc/net/dev ]; then
echo "网络接口流量(bps):"
grep -E 'eth0|ens' /proc/net/dev | awk '{print $1, "接收:", $2/1000/1000 " MB", "发送:", $10/1000/1000 " MB"}'
fi
跨平台收集(适用于Mac + Linux)
如果需要兼容MacOS,可以加入分支判断:
#!/bin/bash
# 兼容Mac/Linux的系统信息收集
echo "系统: $(uname -s)"
case "$(uname -s)" in
Linux)
cpu_model=$(lscpu | grep "Model name" | awk -F': ' '{print $2}')
mem_total=$(free -h | grep Mem | awk '{print $2}')
;;
Darwin)
cpu_model=$(sysctl -n machdep.cpu.brand_string)
mem_total=$(vm_stat | awk '/Pages active/ {split($1,a,"."); print a[1]}') # 粗略
echo "Mac下部分命令需要brew安装"
;;
esac
echo "CPU: $cpu_model"
echo "内存总量(估算): $mem_total"
收集到JSON格式(便于集成监控系统)
适合需要将信息发送给API或存储到数据库的场景。
#!/bin/bash
# 输出JSON格式的系统信息
json_output="{"
json_output+="\"hostname\":\"$(hostname)\","
json_output+="\"ip\":\"$(hostname -I | awk '{print $1}')\","
json_output+="\"os\":\"$(cat /etc/os-release | grep PRETTY_NAME | cut -d= -f2 | tr -d '\"')\","
json_output+="\"cpu_usage\":\"$(top -bn1 | grep Cpu | awk '{print $2 + $4}')\","
json_output+="\"ram_usage\":\"$(free | awk '/Mem/{printf("%.1f", $3/$2*100)}')\","
json_output+="\"disk_usage\":\"$(df / | awk 'NR==2{print $5}' | tr -d '%')\""
json_output+="}"
echo $json_output
# 示例输出:
# {"hostname":"server01","ip":"192.168.1.100","os":"Ubuntu 22.04.1 LTS","cpu_usage":"12.5","ram_usage":"45.2","disk_usage":"62"}
极简版(适合写入脚本开头做快速记录)
直接打印三行关键信息:
echo "==================== 系统快照 $(date +%H:%M) ===================="
echo "CPU负载: $(uptime | awk -Fload: '{print $2}' | tr -d ',') | 内存: $(free -h | awk '/Mem/{print $3"/"$2}') | 磁盘: $(df -h / | awk 'NR==2{print $5}')"
echo "IP: $(hostname -I | awk '{print $1}') | 进程数: $(ps aux --no-headers | wc -l) | 在线用户: $(who | wc -l)"
扩展建议
- 如果需要远程批量收集:可以将脚本放在一台跳板机上,通过
ssh user@host 'bash -s' < sys_info.sh远程执行。 - 如果需要周期性收集:结合
crontab每小时执行一次:0 * * * * /path/to/sys_info.sh >> /var/log/system_report_$(date +\%Y\%m\%d).log 2>&1
- 遇到权限问题:部分命令(如
lastb)需要root权限,可以用sudo或改为who /var/log/btmp 2>/dev/null。
选择最适合你当前场景的版本即可,如果需要针对特定环境(如Windows、Solaris)的脚本,请补充说明您的操作系统。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播