#!/usr/bin/env bash VERSION="v2017071100" SKRIPTNAME="$(basename ${0})_$(date +'%F')" SKRIPTVERZEICHNIS="$(dirname ${0})" #------------------------------------------------------------------------------# if [ "$(id -u)" != "0" ] ; then echo "Sie muessen root sein!" exit 1 fi #------------------------------------------------------------------------------# if [ "$(uname -s)" = "FreeBSD" ] ; then ### FreeBSD SMARTOPT="-a" elif [ "$(uname -s)" = "Linux" ] ; then ### Linux SMARTOPT="-H" else ### Windows SMARTOPT="-h" fi #------------------------------------------------------------------------------# ( echo "================================================================================" date +'%F %T' echo "--------------------------------------------------------------------------------" for i in $(ls /dev/ad*);do smartctl -i ${i}|fgrep 'Serial Number:'|awk -v name=${i} '{print name,$NF}';done echo "--------------------------------------------------------------------------------" for ZFSPOOL in $(zpool list -H | awk '{print $1}') do for BLKGER in $(zpool status ${ZFSPOOL} | sed -ne "1,/^$/ d;/${ZFSPOOL}/,/^$/ p" | awk '{print $1}') do ls -1 /dev/${BLKGER} 2>/dev/null | while read BLKDEV do #echo "${ZFSPOOL} | ${BLKDEV} | smartctl ${SMARTOPT} ${BLKDEV}" #echo "smartctl ${SMARTOPT} ${BLKDEV}" echo -n "${ZFSPOOL} ${BLKDEV} " smartctl ${SMARTOPT} ${BLKDEV} | grep -Ei 'Device Model:|Serial Number:' | awk '{print $NF}' | tr -s '\n' '\t' | sed 's/ $//' echo done | grep -Ev '^$' done done echo echo "--------------------------------------------------------------------------------" df -h | grep -E '^/dev/' | awk '{print $1}' | grep -Fv '/md' | sed -e 's/[0-9]*$//;s/[a-z]*$//' | while read BLKGER do #echo "# ${BLKGER} | smartctl ${SMARTOPT} ${BLKGER}" echo -n "# ${BLKGER} " smartctl ${SMARTOPT} ${BLKGER} | grep -Ei 'Device Model:|Serial Number:' | awk '{print $NF}' | tr -s '\n' '\t' | sed 's/ $//' done echo "================================================================================" ) 2>&1 | tee -a /home/${SKRIPTNAME}.log ls -lha /home/${SKRIPTNAME}.log #------------------------------------------------------------------------------#