I have Ubuntu 10.04 and MegaRAID controller. The only tool I have is the notorious MegaCli. I need to be emailed when some disk has failed in the RAID array. How to set that up?

3 Answers 3


Create script like:

STATUS=`MegaCli -AdpAllInfo -aALL -NoLog|egrep '^  (Degraded|Failed)'|grep -v ' 0'`;

if [ "x$STATUS" != "x" ]; then
  echo -e "Subject: RAID WARNING @ `hostname`\n\n$STATUS"|/usr/sbin/sendmail [email protected]

and add it to your crontab: https://help.ubuntu.com/community/CronHowto

You also need valid sendmail program on your system, simplest config via ssmtp will be enough thou.

  • Nice. Do you recommend anything else to grep for, besides degraded/failed disk count?
    – Henno
    Apr 26, 2011 at 21:59
  • Like warnings from log. How to get them?
    – Henno
    Apr 26, 2011 at 22:02
  • Also, there seems to be a slight problem with the echo command. I get subjectless email with a body of "-e Subject: RAID WARNING @ myhostname"
    – Henno
    Apr 26, 2011 at 22:13
  • what provides your /usr/sbin/sendmail command?
    – rombarcz
    Apr 26, 2011 at 22:16
  • Postfix. I got it working properly by removing "-e".
    – Henno
    Apr 27, 2011 at 7:08

You can get the MegaRAID Storage Manager from LSI, and it can be setup to email you on RAID events (amongst other things, like SNMP).

There's no speicifc Ubuntu version of it, but LSI provides a knowledge base article that explains how to get the "Linux" version working; hopfully it'll work for you, or at least get you going.


I think the Nagios plugin check_raid speaks megacli. You could use it standalone to write your own script. Like all Nagios plugins, it gives you an exit code of 1 if it thinks something is wrong. A cron entry like

sh -c "check_raid > /tmp/raid_status || cat /tmp/raid_status"

should give you a very basic solution.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .