当前位置: 首页 > news >正文

大致计算服务器磁盘使用情况脚本

#!/bin/bash

# 计算所有物理磁盘的总大小(单位:字节)

disk_size_bytes=$(lsblk -b -d -o SIZE 2>/dev/null | awk '{sum += $1} END {print sum}')

# 转换字节为GB(1 GB = 1024^3 字节)

disk_size_gb=$(awk -v bytes=$disk_size_bytes 'BEGIN {printf "%.2f", bytes / (1024^3)}')

# 计算所有以/dev开头的挂载设备的使用空间总和(单位:KB)

used_kb=$(df -kP | awk '$1 ~ /^\/dev\// {sum += $3} END {print sum}')

# 转换KB为GB

used_gb=$(awk -v kb=$used_kb 'BEGIN {printf "%.2f", kb / 1048576}')

# 获取NFS文件系统的信息(总大小和已使用量)

nfs_info=$(df -kT 2>/dev/null | awk '$2 ~ /^nfs/ || $2 ~ /^nfs4/ {total += $3; used += $4} END {print total, used}')

# 解析NFS信息

nfs_total_kb=$(echo $nfs_info | awk '{print $1}')

nfs_used_kb=$(echo $nfs_info | awk '{print $2}')

# 设置默认值(如果没有NFS挂载)

nfs_total_kb=${nfs_total_kb:-0}

nfs_used_kb=${nfs_used_kb:-0}

# 转换NFS容量为GB

nfs_total_gb=$(awk -v kb=$nfs_total_kb 'BEGIN {printf "%.2f", kb / 1048576}')

nfs_used_gb=$(awk -v kb=$nfs_used_kb 'BEGIN {printf "%.2f", kb / 1048576}')

# 计算NFS使用率(避免除以零)

if [ "$nfs_total_kb" -gt 0 ]; then

    nfs_usage_percent=$(awk -v used=$nfs_used_kb -v total=$nfs_total_kb 'BEGIN {printf "%.1f", (used/total)*100}')

else

    nfs_usage_percent="0.0"

fi

# 输出结果

echo "物理磁盘总大小: $disk_size_bytes 字节 ($disk_size_gb GB)"

echo "本地挂载设备使用空间总和: ${used_kb} KB ($used_gb GB)"

echo "NFS文件系统统计:"

echo " 总容量: ${nfs_total_kb} KB ($nfs_total_gb GB)"

echo " 已使用: ${nfs_used_kb} KB ($nfs_used_gb GB)"

echo " 使用率: ${nfs_usage_percent}%"

http://www.dtcms.com/a/329076.html

相关文章:

  • 从零到一:TCP 回声服务器与客户端的完整实现与原理详解
  • pycharm配置连接服务器
  • 解析Vue3中集成WPS Web Office SDK的最佳实践
  • 物理服务器和虚拟机在性能上的不同
  • 【opencv-Python学习笔记(3):色彩空间类型及其转换】
  • 【Abp.VNext】Abp.Vnext框架模块学习
  • 工业元宇宙:迈向星辰大海的“玄奘之路”
  • TCP客户端Linux网络编程设计详解
  • docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理
  • IDEA创建一个VUE项目
  • SVN提交服务器拒绝访问的问题
  • 服务器硬件电路设计之 I2C 问答(五):I2C 总线数据传输方向如何确定、信号线上的串联电阻有什么作用?
  • 从零开始搭建私服务器
  • opencv:直方图
  • 【AI论文】GLM-4.5:具备智能体特性、推理能力与编码能力的(ARC)基础模型
  • Visual Studio Code 跨平台快捷键指南:Windows 与 macOS 全面对比
  • 第十三节:后期处理:效果增强
  • 开发避坑指南(24):RocketMQ磁盘空间告急异常处理,CODE 14 “service not available“解决方案
  • 2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?
  • python基于Hadoop的超市数据分析系统
  • 高防CDN和高防IP的各自优势
  • Sklearn 机器学习 异常值检测 孤立深林
  • 《设计模式之禅》笔记摘录 - 15.观察者模式
  • 【完整源码+数据集+部署教程】军事伪装目标分割系统源码和数据集:改进yolo11-EMSC
  • 最新去水印小程序系统 前端+后端全套源码 多套模版 免授权
  • Four.Meme 重大更新:Bonding Curve Cap 从 24 BNB 降至 18 BNB,这意味着什么?
  • 浏览器面试题及详细答案 88道(23-33)
  • 【密码学实战】国密SM2算法介绍及加解密/签名代码实现示例
  • 用了Cursor AI之后,我的编程效率翻倍了?——一位程序员的真实体验分享
  • Java毕业设计选题推荐 |基于SpringBoot的水产养殖管理系统 智能水产养殖监测系统 水产养殖小程序