有大量的 Linux 诊断工具可供使用,其中许多都有非常明显的需要查找的内容。
例如,hdparm -I /dev/sda
可以告诉您您的驱动器已锁定,但其格式为:
Security:
...
not locked
如果那个“不”不存在,那么它就被锁定了。
如果有一个工具能够检查每个驱动器并检查它们是否被锁定,以及其他数百万个可能出错的地方,那就太好了。
是否有任何东西可以做到这一点,至少部分如此?
- 这是一个开始,但太小了:https://github.com/elliot/borked
- 这是构建您自己的很好的资源:https://wiki.archlinux.org/index.php/System_maintenance
我想要一些功能更全面的东西,作为运行标准 Linux 命令的单个脚本。有人知道这样的事情吗?
谢谢。
最佳答案
您可以做一些非常简单的事情,使用循环在每个驱动器上调用 hdparm
,然后 grep
所需的信息(如果我理解正确的话)。像下面这样的简单操作将返回每个驱动器的锁定状态:
#!/bin/sh
for i in /dev/sd?; do
drvstat="$(sudo hdparm -I $i | grep locked)"
printf " %s : %s\n" $i "$drvstat"
done
注意:如果您没有 sudo
权限,请删除 sudo
并以 root 身份运行脚本。
输出
$ bash ./scr/stack/chksdlocked.sh
/dev/sda : not locked
/dev/sdb : not locked
/dev/sdc : not locked
/dev/sdd : not locked
关于Linux 诊断脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33820671/