使用shell编写一个监控主机内存cpu磁盘空间大小且剩余空间都不得超过百分之十
时间: 2023-05-14 15:04:29 浏览: 82
可以使用以下脚本来监控主机内存、CPU和磁盘空间的使用情况:
```
#!/bin/bash
# 获取内存使用情况
mem_usage=$(free | awk 'NR==2{printf "%.2f%%", $3/$2*100}')
# 获取CPU使用情况
cpu_usage=$(top -bn1 | grep load | awk '{printf "%.2f%%", $(NF-2)}')
# 获取磁盘使用情况
disk_usage=$(df -h / | awk '{print $5}' | tail -n 1)
# 获取磁盘剩余空间
disk_free=$(df -h / | awk '{print $4}' | tail -n 1)
# 判断磁盘使用情况是否超过10%
if [ ${disk_usage%?} -gt 90 ] || [ ${disk_free%?} -lt 10 ]; then
echo "磁盘使用情况异常!"
else
echo "内存使用情况:$mem_usage"
echo "CPU使用情况:$cpu_usage"
echo "磁盘使用情况:$disk_usage"
echo "磁盘剩余空间:$disk_free"
fi
```
这个脚本会输出当前主机的内存、CPU和磁盘使用情况,如果磁盘使用情况超过了90%或者磁盘剩余空间不足10%,则会提示磁盘使用情况异常。
相关问题
使用shell编写一个监控主机内存cpu磁盘空间大小的脚本
可以使用以下的 shell 脚本来监控主机的内存、CPU 和磁盘空间大小:
```shell
#!/bin/bash
# 获取当前时间
now=$(date +"%Y-%m-%d %H:%M:%S")
# 获取主机名
hostname=$(hostname)
# 获取 CPU 使用率
cpu_usage=$(top -bn1 | grep load | awk '{printf "%.2f%%\n", $(NF-2)}')
# 获取内存使用情况
mem_usage=$(free -m | awk 'NR==2{printf "%.2f%%\n", $3*100/$2}')
# 获取磁盘空间使用情况
disk_usage=$(df -h | awk '$NF=="/"{printf "%s\n", $5}')
# 输出监控结果
echo "$now - $hostname - CPU使用率: $cpu_usage - 内存使用率: $mem_usage - 磁盘空间使用率: $disk_usage"
```
这个脚本会输出当前时间、主机名、CPU 使用率、内存使用率和磁盘空间使用率。你可以将这个脚本保存为一个文件,比如 `monitor.sh`,然后在命令行中运行 `bash monitor.sh` 来执行它。你也可以将它添加到 crontab 中,让它每隔一段时间自动运行。
写一个linux查询内存、cpu、磁盘空间使用率的shell脚本
以下是一个简单的Linux查询内存、CPU、磁盘空间使用率的shell脚本:
```bash
#!/bin/bash
# 获取内存使用率
mem_total=$(free -m | awk 'NR==2{print $2}')
mem_used=$(free -m | awk 'NR==2{print $3}')
mem_usage=$((mem_used*100/mem_total))
echo "Memory Usage: ${mem_usage}%"
# 获取CPU使用率
cpu_usage=$(top -bn1 | grep load | awk '{printf "%.2f%%\n", $(NF-2)*100}')
echo "CPU Usage: ${cpu_usage}"
# 获取磁盘空间使用率
disk_usage=$(df -h | awk '$NF=="/"{printf "%s\n", $5}')
echo "Disk Usage: ${disk_usage}"
```
通过运行该脚本,将输出当前系统的内存、CPU、磁盘空间使用率。你可以将该脚本保存为文件并在需要时运行它。