#!/usr/bin/env bash # usage usage() { USAGE=$(cat <'. EOF ) echo "$USAGE"; } set -e; HOSTNAME=$(hostname) SMARTCTL_TESTS_LONG_MAIL_ADDRESS=""; SMARTCTL_TESTS_LONG_DEVICES=(sda) # check for config file source_config() { local config=$1; local configFallback=$2; if [[ ! -f "$config" ]]; then if [[ ! -f "$configFallback" ]]; then echo "No config file specified and could not find default in '$configFallback'!"; echo ""; usage; exit 1; else config=$configFallback; fi fi set -a; source "$config"; set +a; } source_config "$1" "$HOME/.smartctl_tests_long.conf" echo "Starting long tests for ..."; for d in ${SMARTCTL_TESTS_LONG_DEVICES[@]}; do DEVICE="/dev/"$d; echo $DEVICE; smartctl -t long $DEVICE; mailx -s "[smartd $HOSTNAME] queued long test" $SMARTCTL_TESTS_LONG_MAIL_ADDRESS << EOF Queued a smartd long test for $DEVICE. EOF done