写一个检测脚本,用来检测本机所有磁盘分区读写是否都正常

106 阅读1分钟

写一个检测脚本,用来检测本机所有磁盘分区读写是否都正常。

提示: 可以遍历所有挂载点,然后新建一个测试文件,然后再删除测试文件,如果可以正常新建和删除,那说明该分区没问题

sed -n '2,$'p 表示打印第二行到最后一行,也可以使用sed '1d' 表示删除第一行显示出来
grep -v 'tmpfs' 表示过滤掉tmpfs的信息,这些是内存文件系统
awk '{print $NF} 获取最后一列信息
touch $mount_p/testfile  &&  rm -f $mount_p/testfile 创建测试文件,创建成功以后在删除
if 判断 [ $? -eq 0 ]  $?表示上一条命令返回值,如果上一条命令成功执行,返回0,否则返回1,-eq 等于的意思,上个命令成功则读写正常,否则读写有问题
#!/bin/bash
for  mount_p in `df |sed '1d' |grep -v 'tmpfs' |awk '{print $NF}'`
do
    touch $mount_p/testfile  &&  rm -f $mount_p/testfile
    if [ $? -eq 0 ]
    then
        echo "$mount_p 读写正常"
    else
        echo "$mount_p 读写有问题"
    fi
done