ubuntu使用Magecli检测磁盘状态并发送邮件

环境

操作系统: ubuntu 20.04
Megacli: 8.04.07-1 下载链接

邮件发送准备

安装heirloom-mailx

1)apt install heirloom-mailx -y
如果不能安装则在source.list添加:

    deb http://cz.archive.ubuntu.com/ubuntu xenial main universe

2)获取邮件发送服务器的smtp信息以及密码(不是登录密码)
3)修改mail的配置

vim /etc/s-nail.rc

set from="duskxxxx@163.com"
set smtp="smtp.163.com"
set smtp-auth-user="duskxxxx@163.com"
set smtp-auth-password="xxxxx"
set smtp-auth=login

4)测试邮件发送

 ##这两种方式都行
 echo "hello" | heirloom-mailx -s "邮件主题" -t recive-mail
 echo "hello" | s-nail -s "邮件主题" -t recive-mail

安装megacli

megacli只有rpm包,所以需要在ubuntu上将rpm转为deb包;

获取安装文件

官网下载安装包解压后如下图文件:
此处我是已经转换过后的,所有有deb文件。
在这里插入图片描述
MegaCli-8.04.07-1.noarch.rpm转为deb文件

alien -k --scripts MegaCli-8.04.07-1.noarch.rpm

安装

dpkg -i megacli_8.04.07-1_all.deb
#安装文件在:/opt/MegaRAID/MegaCli下
ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/local/bin/megacli

到此就安装完成,如果在使用过程中缺失库文件,可以去centos下找到,然后放在/usr/lib/x86_64-linux-gnu下,也可以使用apt-file去安装。
如果有一下提示,可以不用管:

root@localhost:~/MegaCli# megacli -v
                                     
OSSpecificInitialize: Failed to load libsysfs.so.2.0.2 Please ensure that libsfs is present in the system.
The dependent library libsysfs.so.2.0.1 not available. Please contact LSI for distribution of the package

      MegaCLI SAS RAID Management Tool  Ver 8.04.07 May 28, 2012

    (c)Copyright 2011, LSI Corporation, All Rights Reserved.

Exit Code: 0x00

编写脚本实现功能

#! /bin/bash

##############################
#Function:check status of disk
#Exec_date:10M 
##############################

#Get status of disk


result_file=/root/MegaCli/result_file.txt
#判断结果文件是否是空文件,不是空文件则清空
if [ -s "${result_file}" ]
then
    > ${result_file}
fi

slot_count=`megacli -PDList -aALL | grep 'Slot Number' | wc -l`
slot_number=0
host_IP=`ifconfig bond0 | grep -E "inet.*broadcast" | awk '{print $2}'`
statu="Active"
health_num=0
echo "----------${host_IP}-----------" >> ${result_file}
while (($slot_number < $slot_count)) 
do
    disk_status=`megacli -pdinfo -PhysDrv[32:$slot_number] -aALL | grep 'Port status' | awk -F: '{print $2}'`
    size=`megacli -pdinfo -PhysDrv[32:$slot_number] -aALL | grep "Raw Size" | awk '{print $3" "$4}'`
    WWN=`megacli -pdinfo -PhysDrv[32:$slot_number] -aALL | grep "WWN"`
    echo "slot_number: $slot_number" >> ${result_file}
    echo "Status: ${disk_status}" >> ${result_file}
    echo "Size: ${size}" >> ${result_file}
    echo "${WWN}" >> ${result_file}
    if [ $disk_status = $statu ]
    then
        health_num=$[$health_num+1]
    fi
    slot_number=$((slot_number+1))
#    echo ">>>>>>" >> ${result_file} 
done
if [ $health_num -eq 4 ]
then
   #此处不能使用-t 不然result_file文件内容无法作为message发送到邮件。
    heirloom-mailx -s "磁盘健康,大吉大利" 982***604@qq.com < ${result_file}
else
    heirloom-mailx -s "警报!!磁盘警报!!!" 98***604@qq.com < ${result_file}
fi

完结撒花!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值