From 1a3517ec8a554bcc93896fc7a28244f9342e9e62 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Fri, 23 Aug 2019 10:16:19 +0200 Subject: [PATCH] sysutils/smart: update style on previous, simplify --- .../scripts/OPNsense/Smart/detailed_list.sh | 23 +++++++++++-------- .../service/conf/actions.d/actions_smart.conf | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/sysutils/smart/src/opnsense/scripts/OPNsense/Smart/detailed_list.sh b/sysutils/smart/src/opnsense/scripts/OPNsense/Smart/detailed_list.sh index b0c64a945..227b461a7 100755 --- a/sysutils/smart/src/opnsense/scripts/OPNsense/Smart/detailed_list.sh +++ b/sysutils/smart/src/opnsense/scripts/OPNsense/Smart/detailed_list.sh @@ -25,18 +25,21 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -result="" +RESULT= -for dev in `sysctl -a | grep -i kern.disks | awk -F: '{print $2}'`; do - /usr/sbin/diskinfo $dev >/dev/null 2>&1 || continue - ident=`/usr/sbin/diskinfo -v $dev | grep ident | awk '{print $1}'`; - state=`/usr/local/sbin/smartctl -jH /dev/$dev` - - if [ -n "$result" ]; then - result="$result,"; +for DEV in $(sysctl -n kern.disks); do + if ! /usr/sbin/diskinfo ${DEV} >/dev/null 2>&1; then + continue; fi - result="$result{\"device\":\"$dev\",\"ident\":\"$ident\",\"state\":$state}"; + STATE=$(/usr/local/sbin/smartctl -jH /dev/${DEV}) + IDENT=$(/usr/sbin/diskinfo -s ${DEV}) + + if [ -n "${RESULT}" ]; then + RESULT="${RESULT},"; + fi + + RESULT="${RESULT}{\"device\":\"${DEV}\",\"ident\":\"${IDENT}\",\"state\":${STATE}}"; done -echo "[$result]" +echo "[${RESULT}]" diff --git a/sysutils/smart/src/opnsense/service/conf/actions.d/actions_smart.conf b/sysutils/smart/src/opnsense/service/conf/actions.d/actions_smart.conf index a636d65a0..3eb70bad3 100644 --- a/sysutils/smart/src/opnsense/service/conf/actions.d/actions_smart.conf +++ b/sysutils/smart/src/opnsense/service/conf/actions.d/actions_smart.conf @@ -1,5 +1,5 @@ [list] -command:/bin/ls /dev | grep '^\(ad\|da\|ada\)[0-9]\{1,2\}$' +command:sysctl -n kern.disks parameters: type:script_output message:list installed devices