#!/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