SMART adatok rendszeres naplózása

A korábbi winchesterlistás bejegyzés továbbfejlesztett változata a következő két szkript. Az első a SMART értékeket fájlba naplózza, a második pedig e-mailben küldi őket. Debian alatt a /etc/cron.daily, cron.weekly, stb. mappába megfelelő helyük van.

smartlog:

#!/bin/bash
# smart data log script by palacsint, v1.0
# http://palacsint.hu/
# 2009. 11. 18.

DATE=$(date +%Y-%m-%d)
LOGDIR=/var/log/smart/
SMARTCTL=/usr/sbin/smartctl

if [ ! -x $SMARTCTL ]
then
    echo "error: $SMARTCTL not found"
    exit 1;
fi

#grep 0 /sys/block/{sd*,hd*}/removable | awk -F"/" '{print $4}' | while read DEVICE
grep 0 /sys/block/sd*/removable | awk -F"/" '{print $4}' | while read DEVICE
do
    DEVFILE=/dev/${DEVICE}
    if [ ! -b $DEVFILE ]
    then
	echo "${DEVFILE}: is not a block file"
	continue;
    fi

    LOGFILE="${LOGDIR}${DATE}-${DEVICE}.log"
    $SMARTCTL -a -d ata /dev/${DEVICE} > $LOGFILE
done

smartmail:

#!/bin/bash

# smart data mail script by palacsint, v1.0
# http://palacsint.hu
# 2009. 11. 18.

DATE=$(date +%Y-%m-%d)
SMARTCTL=/usr/sbin/smartctl
MAILADDR="miki@localhost"

if [ ! -x $SMARTCTL ]
then
    echo "error: $SMARTCTL not found"
    exit 1;
fi

#grep 0 /sys/block/{sd*,hd*}/removable | awk -F"/" '{print $4}' | while read DEVICE
grep 0 /sys/block/{sd*}/removable | awk -F"/" '{print $4}' | while read DEVICE
do
    DEVFILE=/dev/${DEVICE}
    if [ ! -b $DEVFILE ]
    then
	echo "${DEVFILE}: is not a block file"
	continue;
    fi

    $SMARTCTL -a -d ata /dev/${DEVICE} | mail -s "smartctl - ${DEVICE} - ${DATE}" $MAILADDR
done

Középtájon van egy kikommentezett sor, ami akkor hasznos, ha nem csak sd* lemezek vannak a rendszerben.

Tartalom átvétel