Пытался по форуму найти, неудачно.
Существует ли возможность получить смарт внешнего диска по usb? Или это в принципе не заработает в синолоджи?
Пытался по форуму найти, неудачно.
Существует ли возможность получить смарт внешнего диска по usb? Или это в принципе не заработает в синолоджи?
Для справки: Smart точно видится через USB под Windows, таким ПО как например "HardDiskSentinel" или "Victoria". Такие процедуры как Remap в той же "Victoria"- лучше делать загрузившись с какой-нибудь флешки "сисадмина", чтоб не было непредсказуемых результатов.
Проверялось на дисках 2,5" и 3,5", так же с внешним питанием винчестера.
Спасибо! буду на выходных пробовать.
А там пробовать нечего. Командой mount в терминале смотрим под каким именем смонтирован USB диск. У меня это /dev/sdq и даём команду
smartctl -a /dev/sdq
Она выведет в консоль подробную смарт информацию диска.
smartctl -i /dev/sdq
выведет инфо о диске командой
smartctl -A -d sat -T permissive /dev/sdq | grep Temperature_Celsius | awk "{print $ 10}"
я вывожу на экран температуру диска.
Вот вывод smartctl -i /dev/sdq
=== START OF INFORMATION SECTION === Model Family: Western Digital Scorpio Blue Serial ATA Device Model: WDC WD5000BEVT-00A0RT0 Serial Number: WD-WXF0A9936678 LU WWN Device Id: 5 0014ee 2ae2793db Firmware Version: 01.01A01 User Capacity: 500,107,862,016 bytes [500 GB] Sector Size: 512 bytes logical/physical Rotation Rate: 5400 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS (minor revision not indicated) SATA Version is: SATA 2.6, 3.0 Gb/s Local Time is: Sun Nov 17 13:56:26 2019 GST SMART support is: Available - device has SMART capability. SMART support is: Enabled
Как видим всё прекрасно работает на внешних USB
Вооо... именно этого и искал. Огромное спасибо!
Если кому интересно - написал скрипт, проверяющий температуру USB дисков и выводящий уведомление, в случае превышения заданного порога.
#!/bin/bash
#
# VER=22-02-2020
# Critical temperature, degrees.
OVERHEAT=45
eval "$( cat /etc/synoinfo.conf | sed '/^$/d' )"
let "STNDBY=$usb_standbytimer*60"
SEARCH_STRING=volumeUSB
MOUNT_STRINGS=()
while IFS= read -r line; do
MOUNT_STRINGS+=( "$line" )
done < <( mount | grep $SEARCH_STRING )
index=0
element_count=${#MOUNT_STRINGS[@]}
while [ "$index" -lt "$element_count" ]
do
DEV_NAME=$(echo ${MOUNT_STRINGS[$index]} | awk "{print $ 1}" | cut -c 6-8)
IDLE_TIME=$(cat /sys/block/$DEV_NAME/device/syno_idle_time)
VOL_NAME=$(echo ${MOUNT_STRINGS[$index]} | awk "{print $ 3}" | awk -F"/" '{print $2}')
if (( $IDLE_TIME < $STNDBY )); then
TMP_VAL=$(smartctl --nocheck=sleep --attributes --device=sat --tolerance=permissive /dev/$DEV_NAME | grep Temperature_Celsius | awk "{print $ 10}")
if ! [ -z "$TMP_VAL" ]; then
echo -e ''$(date +"%F %T")'\n'$VOL_NAME' = '$TMP_VAL'ºC'
if (( $TMP_VAL > $OVERHEAT )); then
/usr/syno/bin/synonotify USBDiskTemperatureAbnormal "{\"%VOL_NAME%\": \"$VOL_NAME\", \"%TMP_VAL%\": \"$TMP_VAL\", \"%OVERHEAT%\": \"$OVERHEAT\"}"
echo 2 >/dev/ttyS1
sleep 0.5
echo 2 >/dev/ttyS1
sleep 0.5
echo \\0x35 >/dev/ttyS1
sleep 0.5
echo \\0x39 >/dev/ttyS1
sleep 10
echo \\0x38 >/dev/ttyS1
sleep 0.5
echo \\0x34 >/dev/ttyS1
fi
fi
else
echo -e ''$(date +"%F %T")'\nUSB drive ['$VOL_NAME'] is sleeping.'
fi
let "index = $index + 1"
done
Запускать через Панель управления->Планировщик задач->Создать->Запланированная задача->Скрипт, заданный пользователем.
Для того чтобы заработали стандартные уведомления, необходимо поправить 2 файла. А именно добавить в конец каждого:
/usr/syno/synoman/webman/texts/rus/mails
[USBDiskTemperatureAbnormal] Category: External Storage,Important Title: Текущая температура USB диска %VOL_NAME% = %TMP_VAL%ºC, что превышает рабочую температуру = %OVERHEAT%ºC. Subject: Текущая температура USB диска %VOL_NAME% = %TMP_VAL%ºC, что превышает рабочую температуру = %OVERHEAT%ºC. Уважаемый пользователь! Текущая температура USB диска %VOL_NAME% = %TMP_VAL%ºC, что превышает рабочую температуру = %OVERHEAT%ºC. С уважением, %COMPANY_NAME%
/usr/syno/etc/notification/notification_filter.settings
USBDiskTemperatureAbnormal="cms"
Если надо, что бы кроме уведомлений в панели, получать ещё по почте, то:
USBDiskTemperatureAbnormal="mail,cms"
Для того, что бы изменения вступили в силу - перезагрузите аппарат!
Update 22.02 - Кроме алертов, при превышении температуры, скрипт также бипает и моргает 10 секунд индикаторами на передней панели.