Перейти к содержанию
Форум русской поддержки продукции Synology

Рекомендованные сообщения

Пытался по форуму найти, неудачно.

Существует ли возможность получить смарт внешнего диска по 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

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

Если кому интересно - написал скрипт, проверяющий температуру 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 секунд индикаторами на передней панели.

Отредактировал Морфеус
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в этой теме...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...
×
×
  • Создать...