20 lines
749 B
Bash
Executable File
20 lines
749 B
Bash
Executable File
#!/bin/bash
|
|
#!/bin/bash
|
|
count=0
|
|
DISKS=($(lsblk | grep disk | cut -f1 -d' '))
|
|
for disk in ${DISKS[@]}; do
|
|
echo "Test disk ${disk}" > /tmp/log_${disk}
|
|
{ sudo smartctl -H /dev/${disk} >> /tmp/log_${disk}; echo "Result: $?" >> /tmp/log_${disk};}& PID1[$count]=$!
|
|
{ sudo smartctl -t long /dev/${disk} >> /tmp/log_${disk}; echo "Result: $?" >> /tmp/log_${disk};}& PID2[$count]=$!
|
|
((count++))
|
|
done
|
|
MAIL_BODY=""
|
|
STARS="***************************"
|
|
for (( i=0; i<${#PID1[@]};i++)); do
|
|
wait ${PID1[$i]}
|
|
wait ${PID2[$i]}
|
|
MAIL_BODY="$(printf "${STARTS}${DISKS[$i]}${STARTS}${MAIL_BODY}\n$(cat /tmp/log_${DISKS[$i]})\nsmartctl for disk ${DISKS[$i]} finished")"
|
|
done
|
|
|
|
echo "${MAIL_BODY}" | mail -s "Automated Servermessage - smartctl long" lucas-f@live.at
|