linux - 如何在 Shell 脚本中检查 Linux 文件系统是否挂起

标签 linux bash shell filesystems

我正在尝试用 bash 编写一个 shell 脚本来提醒我我的文件系统是否工作。所以我正在使用 cd 到文件系统,然后检查退出状态以查看它是否有效。如果退出状态为 1,则出现错误消息,说明文件系统有问题,因此它应该提醒我或做一些事情。

这是我尝试做的,但只有当我尝试 cd 文件系统返回错误消息时,这才有效。但是假设文件系统挂起,所以命令将挂起。因此,我什至无法检查命令的退出状态以查看它是失败还是成功。知道我该怎么做吗?

cd /home/filesystem1
status=$(echo $?)
if [[ $status == 1 ]]
   then
    echo "filesystem1 is down" > $message
fi

最佳答案

如何检查文件系统是否已挂载而不是尝试 cd 进入它?

grep "folder_name"/proc/mounts 如果文件夹存在则返回 0,否则返回 1

其他选项是检查您盒子上的文件系统: cat/proc/文件系统。 这个文件的内容是实时构建的 (/proc),所以当它被读取时它反射(reflect)了当前的实际状态

关于linux - 如何在 Shell 脚本中检查 Linux 文件系统是否挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46295246/

相关文章:

c# - C++/C# 应用程序连接到 Linux 服务器

linux - 如何使用 bash 脚本更改 iptable 条目?

BASH 脚本无需替换即可将变量传递到新脚本中

bash,比较命令的输出

bash - Shell 条件错误 - Bash 语法无法识别

linux - 导入错误 : no module name 'pip' on Arch

linux - 如何在不改变其功能的情况下将一些垃圾指令插入/删除到 ELF/PE 文件中?

c - system() 不断返回 127

linux - 如何使用 awk 或 sed 打印彼此相邻的两行?

linux - 如何解析 shell 脚本中的命令输出