博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nagios检控硬盘健康状态
阅读量:6924 次
发布时间:2019-06-27

本文共 998 字,大约阅读时间需要 3 分钟。

简单脚本实现:

#!/bin/bashDEVICES="sda sdb"  #有几块硬盘就写几块SMARTCTL=/usr/sbin/smartctlSMART_TMP_FILE="/opt/nagios/tmp/.smart"for DEV in $DEVICESdo        REL=`sudo $SMARTCTL -H /dev/$DEV |egrep -i '(Health status|test result)' |awk -F: '{print $2}' |awk '{print $1}'`        echo -n "${DEV}:${REL}  "  >> $SMART_TMP_FILEdone >> /tmp/eeee.log 2>&1egrep -i '(FAILED|err)' $SMART_TMP_FILERETVAL=$?if [ $RETVAL -ne 0 ]then        echo "OK - `cat $SMART_TMP_FILE`"        rm -f $SMART_TMP_FILE        exit 0else        echo "CRITICAL - `cat $SMART_TMP_FILE`"         rm -f $SMART_TMP_FILE        exit 2fi

脚本很简单,不过要执行起来不容易,root用户执行此脚本,测试一切没问题,可是用nagios用户运行问题就来了

首先是nagios用户没有执行smartctl命令的权限:修改soduers文件

执行visudo

在root    ALL=(ALL)       ALL下面添加

nagios  ALL=(root) NOPASSWD:/usr/sbin/smartctl *

##NOPASSWD可以在脚本执行实不用输入密码

只改了这个还不行,当用nagios用户执行时还是会报错:sudo: sorry, you must have a tty to run sudo

再改:

还是执行visudo命令(当然执行vi  /etc/sudoers也完全可以)

找到Defaults    requiretty,前面加‘#’注释掉就一切OK了!

转载于:https://www.cnblogs.com/xuxyblog/p/3885039.html

你可能感兴趣的文章
亮剑:PHP,我的未来不是梦(8)
查看>>
mysql5.7主从复制遇到的坑
查看>>
大数据看出行 滴滴发布华北智能出行报告
查看>>
Linux系统管理_基本权限和归属-Redhat Enterprise 5
查看>>
Centos5 系统配置DNS服务器配置详解
查看>>
安装与配置Weblogic单实例
查看>>
文件服务器之Branchcache分布式缓存
查看>>
Zabbix监控之邮件发送失败-smtp-server: 错误代码550与535
查看>>
Postfix实验问题之二
查看>>
c# 泛型List的定义、作用、用法
查看>>
在NBMA网络非广播模式下配置OSPF实际案例(配图)+详细验证过程
查看>>
算法学习之路|状态压缩dp
查看>>
配置Juniper netscreen 防火墙支持NTP
查看>>
Intel AMT有线接口和无线接口上的802.1x的配置
查看>>
【解决错误码为0xC8000222的 .NET Framework 4 安装失败问题】
查看>>
SQL server 2000邮件配置方法
查看>>
zabbix命令:zabbix_get获取item数据
查看>>
在Linux的sqlplus中不能使用vi时的解决方法
查看>>
ORACLE RAC --NTP时间服务器的配置问题
查看>>
【framework】spring3-mvc-开篇
查看>>