当前位置: 首页 > 面试题库 >

是否有检测过时的NFS挂载的好方法

百里京
2023-03-14
问题内容

我有一个仅在成功完成几个测试后才能启动的过程。

我需要进行的一项测试是,我所有的NFS挂载均正常运行。

我能做得比蛮力方法更好吗:

mount | sed -n "s/^.* on \(.*\) type nfs .*$/\1/p" | 
while read mount_point ; do 
  timeout 10 ls $mount_point >& /dev/null || echo "stale $mount_point" ; 
done

timeout是一个实用程序,它将在后台运行命令,并在给定时间后将其杀死(如果SIGCHLD在时间限制之前未捕获到该命令),则以明显的方式返回成功/失败。

用英语:解析输出mount,检查每个NFS安装点(有一个超时)。可选地(不在上面的代码中)在第一个陈旧的挂载上中断。


问题答案:

您可以编写一个C程序并检查ESTALE

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <iso646.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>

int main(){
    struct stat st;
    int ret;
    ret = stat("/mnt/some_stale", &st);
    if(ret == -1 and errno == ESTALE){
        printf("/mnt/some_stale is stale\n");
        return EXIT_SUCCESS;
    } else {
        return EXIT_FAILURE;
    }
}


 类似资料:
  • 我被带到一个现有的CMS和文件管理web应用程序上工作,该应用程序为商家的在线网店提供一个管理界面。管理应用程序是用PHP开发的。 当网站用户查看网店时,页面资产(主要是嵌套文件夹路径中的图像)直接从网店的HTML中引用,并直接从独立于CMS系统的web服务器提供服务。 但为了列出/搜索/允许文件导航(即文件管理部分),CMS应用程序需要能够访问文件/文件夹目录结构。 因此,我们使用LinuxNF

  • 本文向大家介绍C#检测是否有u盘插入的方法,包括了C#检测是否有u盘插入的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#检测是否有u盘插入的方法。分享给大家供大家参考。具体如下: 该C#代码可监控是否有u盘插入,同时可以监控其它驱动器的变化 希望本文所述对大家的C#程序设计有所帮助。

  • 问题内容: 我在用 我想用bash脚本检查一下,看看是否已挂载?如果不是,则调用上面的mount命令,否则执行其他操作。我怎样才能做到这一点? CentOS是操作系统。 问题答案: 运行不带参数的命令将告诉您当前的安装。在shell脚本中,您可以使用和if语句检查挂载点: 在我的示例中,if语句正在检查的退出代码,该代码指示是否存在匹配项。由于我不希望在匹配时显示输出,因此将其重定向到。

  • 我正在和一个班合作。我正在使用一些方法。 我需要检查我需要传递的参数,来调用这个方法。我就是这样做的 它工作得很好,但我知道有些方法有重载(没有参数),但这段代码只显示最后声明的方法(有参数要调用)。我怎样才能同时得到这两个重载? 这就是它的样子(我知道这个方法有重载) 例如另一个类:类扫描比打印方法方法 要扫描的代码 类的构造函数,它扫描给定的对象。 这就是我打印它们的方式。

  • 我们使用创建了一个PersistentVolume pv01: 并通过键入: 然后,当我们键入时,PersistentVolume显示“可用”的状态。 注此OP与其他问题不同,因为即使在NFS IP和路径周围有引号,此问题仍然存在。 为什么这种PVC不与PV结合?需要做哪些具体的改变来解决这个问题?

  • 本文向大家介绍php通过function_exists检测函数是否存在的方法,包括了php通过function_exists检测函数是否存在的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php通过function_exists检测函数是否存在的方法。分享给大家供大家参考。具体分析如下: php中可以通过function_exists()函数检测另外一个函数是否存在,可以把函数名作为