March 11, 20233 yr Hello, Hope everyone are having a good day! I have successfully been running quick smart checks on my drives using user scripts and this script: #!/bin/bash for i in {b..z}; do smartctl --test=short /dev/sd$i done But this only work with drives up to 25 (sdz) And i have 26 drives installed at the moment, which put the identifier up to sdaa, and the script doesn´t work if i set it as: #!/bin/bash for i in {b..aa}; do smartctl --test=short /dev/sd$i done Any hints on that i am doing wrong?
March 11, 20233 yr Solution try this instead #!/bin/bash for disk in $(lsblk -I8,65,66 -ndo name); do smartctl --test=short /dev/${disk} done it lists names of all devices using lsblk, where major device numbers as 8, 65 or 66 (sd*), then loops through them
March 11, 20233 yr Author 1 hour ago, apandey said: try this instead #!/bin/bash for disk in $(lsblk -I8,65,66 -ndo name); do smartctl --test=short /dev/${disk} done it lists names of all devices using lsblk, where major device numbers as 8, 65 or 66 (sd*), then loops through them Thanks for the quick reply, that solved it, does exactly what i needed. Thanks again and have a mighty fine day!
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.