mirror of
https://github.com/kneutron/ansitest.git
synced 2025-01-16 04:42:55 +08:00
87 lines
2.2 KiB
Bash
87 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# Mod for OSX 2019.0317
|
|
# runs monthly from crontab
|
|
|
|
PATH=/sbin:/var/root/bin:/var/root/bin/boojum:/usr/local/bin:/usr/local/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
|
|
|
|
debugg=0
|
|
|
|
log=$HOME/smartlog-boojum.log
|
|
mv -v -f $log $log--old
|
|
|
|
DBS=/var/run/disk/by-serial
|
|
|
|
#source ~/bin/failexit.mrg
|
|
# failexit.mrg
|
|
function failexit () {
|
|
echo '! Something failed! Code: '"$1 $2" # code # (and optional description)
|
|
exit $1
|
|
}
|
|
|
|
|
|
if [ "$1" = "stage2" ]; then
|
|
myd=$(date)
|
|
echo "=========================================" |tee -a $log
|
|
echo "o BEGIN STAGE2 SMART OSX report: $myd" |tee -a $log
|
|
|
|
|
|
# only lv out total if @begin
|
|
# i = longform NewerTch__Voyage-WDH0SB5N
|
|
|
|
for i in $(ls $DBS |egrep -v 'disk.s.|^total|:'); do
|
|
# drvonly=`echo $i |awk -F/ '{ print $3 }'` # disk0
|
|
devdisk=$(ls -l $DBS/$i |awk '{print $(NF)}') # /dev/disk9s9
|
|
# bid=`ls -l /dev/disk/by-id |grep $drvonly |grep -v part`
|
|
|
|
echo "$i = $devdisk" |tee -a $log
|
|
# echo "$bid" |tee -a $log
|
|
# fdisk -l $i |tee -a $log
|
|
|
|
diskutil list $devdisk |tee -a $log
|
|
smartctl -a $devdisk |tee -a $log
|
|
done
|
|
echo "=========================================" |tee -a $log
|
|
echo "o END STAGE2 SMART OSX report: $myd" |tee -a $log
|
|
|
|
# run in BG
|
|
smart-osx-shortreport.sh &
|
|
|
|
exit 0; # skip test
|
|
fi
|
|
|
|
# (to syslog)
|
|
logger "FYI -- SMARTCTL testing of all drives are in progress - see $log"
|
|
|
|
echo "=========================================" |tee -a $log
|
|
echo "o BEGIN STAGE1 SMART OSX testing: $myd" |tee -a $log
|
|
|
|
|
|
# SMART testing
|
|
|
|
ls -l $DBS |egrep -v 'disk.s.|^total' > /tmp/boojum-smart-in.txt
|
|
awk '{ print $9" "$11 }' /tmp/boojum-smart-in.txt > /tmp/boojum-smart-in-edit.txt
|
|
|
|
while read -r inline; do
|
|
[ $debugg -gt 0 ] && set -x
|
|
#OIFS=$IFS
|
|
#IFS=
|
|
#`echo -e \n`
|
|
|
|
drvonly=$(echo "$inline" |awk -F\/ '{ print $3 }') # disk0
|
|
bid=$(echo "$inline" |awk '{ print $(NF-2) }') || failexit 101 "Invalid bid"
|
|
# Numfields -2 = Portable...
|
|
|
|
echo "$inline = $bid" |tee -a $log
|
|
# /sbin/fdisk -l $i |tee -a $log
|
|
diskutil list $drvonly |tee -a $log
|
|
|
|
#read -n 1
|
|
smartctl -t long $drvonly |tee -a $log
|
|
|
|
#IFS=$OIFS
|
|
done < /tmp/boojum-smart-in-edit.txt
|
|
|
|
echo "=========================================" |tee -a $log
|
|
|