写一个shell脚本,在FIO读写时,每隔2s分别给单个硬盘发送smartctl -a命令,记录硬盘性能值,每隔5s给所有硬盘发送smartctl -A命令,记录性能值
时间: 2024-10-10 11:12:09 浏览: 33
fio工具测试硬盘顺序读写随机读写性能脚本
你可以创建一个简单的shell脚本来完成这个任务,这里是一个基础示例:
```bash
#!/bin/bash
# 设定两个定时器变量
read_check=2
all_check=5
# 硬盘设备列表,替换为你实际的硬盘名
disks=("hdisk1" "hdisk2" "hdisk3") # 根据实际情况修改
for disk in "${disks[@]}"
do
echo "监控硬盘 $disk 每隔 $read_check 秒..."
while :
do
smartctl -a "$disk" >> disk_performance_$disk.txt & sleep $read_check
echo "Smart data collected at $(date)"
done
done
echo "监控所有硬盘每 $all_check 秒..."
while :
do
for disk in "${disks[@]}"
do
smartctl -A "$disk" >> all_disks_performance.txt & sleep $all_check
echo "Overall smart data collected at $(date)"
done
wait
done
# 使用wait命令等待所有后台进程结束
```
把这个脚本保存到一个文件(例如`monitor.sh`),然后通过`chmod +x monitor.sh`使其可执行,然后运行它:
```bash
./monitor.sh
```
注意:你需要确保系统上已经安装了`smartmontools`工具,并且`smartctl`命令可以正常访问硬盘。
阅读全文