用shell写一个监控磁盘使用率的脚本
时间: 2023-11-24 07:05:30 浏览: 151
以下是一个简单的Shell脚本,可以监控磁盘使用率:
```
#!/bin/bash
# 设置监控磁盘的路径和阈值
DISK_PATH="/dev/sda1"
THRESHOLD="90"
while true
do
# 获取磁盘使用率
DISK_USAGE=$(df -h | grep $DISK_PATH | awk '{print $5}' | sed 's/%//')
# 判断是否超过阈值
if [ $DISK_USAGE -gt $THRESHOLD ]
then
echo "磁盘使用率已超过阈值,当前使用率为 $DISK_USAGE%"
# 发送邮件或其他提醒方式
# ...
sleep 3600 # 等待1小时再进行下一次检查
else
sleep 60 # 等待1分钟再进行下一次检查
fi
done
```
该脚本使用了一个while循环,不断地获取磁盘使用率并与设定的阈值进行比较。如果磁盘使用率超过阈值,则可以通过邮件或其他提醒方式发送警告信息。脚本每次检查之间都会有一个固定的等待时间,以避免过于频繁地检查磁盘使用率。
相关问题
监控磁盘io使用率的shell脚本
可以使用下面的 shell 脚本来监控磁盘 io 使用率:
```shell
#!/bin/bash
DISK=sda
INTERVAL=1 #每秒采样一次
while true
do
iostat -x $DISK $INTERVAL 2 | awk 'NR==4 {print $14}' #取第 4 行的第 14 个字段
done
```
这个脚本使用 `iostat` 命令来获取磁盘 io 使用率,`DISK` 变量指定了要监控的磁盘,可以根据实际情况修改。`INTERVAL` 变量指定了采样间隔,这里设置为每秒采样一次。
脚本中的 `awk` 命令用于从 `iostat` 命令输出中提取出磁盘 io 使用率,具体解释如下:
- `NR==4` 表示只处理第 4 行;
- `$14` 表示取第 14 个字段,也就是磁盘的平均 io 使用率。
脚本会不停地输出磁盘 io 使用率,可以使用 Ctrl+C 来停止脚本的执行。
Linux 操作系统使用Shell脚本监控CPU、磁盘、内存使用率代码
以下是一个使用Shell脚本监控CPU、磁盘、内存使用率的例子,该脚本可以定时运行并将结果输出到日志文件中:
```
#!/bin/bash
# 设置监控时间间隔
interval=5
# 设置日志文件名和路径
log_file=/var/log/sys_monitor.log
# 定义运行监控命令的函数
function monitor {
# 获取CPU使用率
cpu_usage=$(top -b -n1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
# 获取磁盘使用率
disk_usage=$(df -h --total | grep total | awk '{print $5}' | cut -d'%' -f1)
# 获取内存使用率
mem_usage=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
# 输出结果到日志文件
echo "$(date +%F-%H:%M:%S) CPU使用率:$cpu_usage% 磁盘使用率:$disk_usage% 内存使用率:$mem_usage%" >> $log_file
}
# 循环运行监控命令并输出到日志文件中
while true
do
monitor
sleep $interval
done
```
上述脚本会每隔5秒运行一次monitor函数,并将获取的CPU、磁盘、内存使用率输出到/var/log/sys_monitor.log文件中。可以通过修改interval和log_file变量来更改监管时间间隔和日志文件路径。同时也可以根据实际需求修改monitor函数来运行其他监控命令并输出到日志文件中。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![sh](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)