Jump to content

Просмотр информации SMART (здоровья) подключенного жёсткого диска


Recommended Posts

6 часов назад, X-MATSE сказал:

Глянул в логи загрузки, а там..
 


Mar 18 13:24:30 root: Failed to start lighttpd from .

Т е при включении он не стартует таки

Т.е. вывод комадны ps | grep lighttpd пустой ?

~ # ps | grep lighttpd
 593 root      5468 S    lighttpd -f /opt/etc/lighttpd/lighttpd.conf

А в конфиге lighttpd какой порт указан? Если тот, что был по умолчанию - 80, то так и должно быть, т.к. этот порт уже занят web сервером роутера.

в файле  /opt/etc/lighttpd/lighttpd.conf

в строке

server.port  = 8080

у вас какой порт указан?
 

Link to comment
Share on other sites

13 часа назад, Albram сказал:

.е. вывод комадны ps | grep lighttpd пустой ?

ps | grep lighttpd

1966 root 4780 D grep lighttpd 

 

13 часа назад, Albram сказал:

А в конфиге lighttpd какой порт указан?

81

И, походу, cron, тоже не работает. Что ж за напасть..

Link to comment
Share on other sites

17 минут назад, X-MATSE сказал:

И, походу, cron, тоже не работает.

crontab нужно редактировать с остановленным cron. Нужно переустановить cron.

  • Thanks 1
Link to comment
Share on other sites

8 часов назад, X-MATSE сказал:

ps | grep lighttpd 1966 root 4780 D grep lighttpd

Запустите lighttpd с опцией -t для проверки синтаксиса config файла:

~ # /opt/sbin/lighttpd -t -f /opt/etc/lighttpd/lighttpd.conf
Syntax OK

 Если выдаст ОК, то посмотрите после неудачного старта что пишется в лог:

~ # cat /opt/var/log/lighttpd/error.log

 

Link to comment
Share on other sites

15 часов назад, Albram сказал:

Syntax OK

 

15 часов назад, Albram сказал:

cat /opt/var/log/lighttpd/error.log

Файла нет.

И по факту, не строит всё равно график, или только разово: при первом старте скрипта и создании всех файлов/папок

В 19.03.2019 в 09:51, Kiborg_Man сказал:

crontab нужно редактировать с остановленным cron. Нужно переустановить cron.

А просто STOP не вариант? Обязательно переустанавливать?

Link to comment
Share on other sites

34 минуты назад, X-MATSE сказал:

А просто STOP не вариант? Обязательно переустанавливать?

Обязательно, я сталкивался с этой проблемой и только так решил её.

Link to comment
Share on other sites

2 часа назад, X-MATSE сказал:

И по факту, не строит всё равно график, или только разово: при первом старте скрипта и создании всех файлов/папок

Ну так если cron не работает, то после первого запуска скрипт больше некому запускать, потому и не строит ничего дальше.

Link to comment
Share on other sites

21 час назад, Albram сказал:

Ну так если cron не работает, то после первого запуска скрипт больше некому запускать, потому и не строит ничего дальше.

По такой логике, он должен работать вручную, и строить в ручную, но нет. Работает, но график не строит.

 

23 часа назад, Kiborg_Man сказал:

Обязательно, я сталкивался с этой проблемой и только так решил её.

А если нужно будет добавить какую то страку в крон, опять удалять и устанавливать заново?

Link to comment
Share on other sites

17 минут назад, X-MATSE сказал:

А если нужно будет добавить какую то страку в крон, опять удалять и устанавливать заново?

Нет, если нужно будет добавить/изменить строку, то нужно просто остановить cron, добавить/изменить строку и запустить cron.

Link to comment
Share on other sites

  • 2 weeks later...

Обновил Entware

busybox - 1.30.1-1
entware-release - 1.0-2

и скрипт перестал показывать SMART, параметры диска и свободное место. Заодно перестала работать ручная проверка на странице.

Со скриптом проблема оказалась в smartctl, новая версия 7.0 перестала автоматически определять тип диска

~ # smartctl -V
smartctl 7.0 2018-12-30 r4883 [mips-linux-3.4.113] (localbuild)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

После добавления в строку параметров smartctl в скрипте -d sat скрипт заработал.

было:

SMARTCTL_PARAMS="-iAHf old -l scttemp"

стало:

SMARTCTL_PARAMS="-d sat -iAHf old -l scttemp"

 Ручная проверка на странице слетела из-за обновления lighttpd и lighttpd-mod=cgi до версии 1.4.49-5 и замене файла /opt/etc/lighttpd/conf.d/30-cgi.conf
файлом по умолчанию. В нем нужно просто поправить строчку ".cgi" => "/opt/bin/perl",  на ".cgi" => "/bin/sh" как написано в начале этой инструкции и ручная проверка на странице заработает.

  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...
4 минуты назад, Kiborg_Man сказал:

И когда это будет исправлено?

Если вопрос про пакет, он уже давно в репах.

~ # opkg info smartmontools-*
Package: smartmontools-drivedb
Version: 7.0-2
Depends: libc, libssp, librt, libpthread
Status: unknown ok not-installed
Section: utils
Architecture: all
Size: 45412
Filename: smartmontools-drivedb_7.0-2_all.ipk
Description: Database of known drives and USB bridges for smartctl and smartd.

~ # opkg install smartmontools-drivedb
Installing smartmontools-drivedb (7.0-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/smartmontools-drivedb_7.0-2_all.ipk
Configuring smartmontools-drivedb.
~ #

Если про "нарезку" пакетов, тогда вопрос надо задавать owrt`ешникам

  • Thanks 1
Link to comment
Share on other sites

25 минут назад, Александр Рыжов сказал:

Это не будет исправлено, потому что это не баг. Появился отдельный пакет с БД о различных дисков.

 

Получается после обновления entware нужно до уставить пакет про который сказал @TheBB?

До установил пакет, всё стало показывать.

Edited by Kiborg_Man
Link to comment
Share on other sites

  • 1 month later...
В 12.03.2018 в 14:42, Albram сказал:

Захотел добавить e-mail оповещение, но в Entware нет sendmail. Внес изменения в скрипт для работы с msmtp.

1. Устанавливаем msmtp:

opkg install msmtp

2. Правим файл /opt/etc/msmtprc

Для отправки с gmail.com у меня он выглядит так (закомментированные строки из него пропущены):

account default
logfile /opt/var/log/msmtp.log
    #эту строку можно не создавать, если не нужен логфайл
host smtp.gmail.com
port 587
tls on
tls_certcheck off
syslog LOG_MAIL
auth login
user e-mail@gmail.com
   #ваш аккаунт на gmail
password  ........    #пароль в аккаунт на gmail
from any_words_or_address    #любой адрес или слово, оно будет отправляться серверу как параметр From

3. Правим строки в файле скрипта /opt/usr/bin/smarthtml.sh

USE_MAIL=1

MAIL_RECIPIENT="recipient@gmail.com"     #здесь указываем на какой адрес будут отправляться уведомления

Следующие строки нужно закомментировать или удалить, они не нужны, т.к. openssl не используется, и он не установлен:

#OPENSSLCMD=`which openssl`
#if [ $USE_MAIL -eq 1 -a $? -ne 0 ]; then
#    echo " Error! openssl doesn't exists..." >&2
#    USE_MAIL=0
#fi

Меняем MTA c

MTA=`which sendmail`

на:

MTA=`which msmtp`

Меняем MTACMD на:

MTACMD="${MTA} -t $MAIL_RECIPIENT"

3. Сохраняем сделанные изменения и пробуем отправить тестовое уведомление:

/opt/usr/bin/smarthtml.sh mailtest

Если всё сделано правильно, то получаем тестовое уведомление на указанный адрес.

 

В файле скрипта /opt/usr/bin/smarthtml.sh

#MTA_HELPER="exec ${OPENSSLCMD} s_client -quiet -tls1 -starttls smtp -connect ${MAIL_SMTP}"
если данную строку не закомментировать будет ошибка 535-5.7.8

Link to comment
Share on other sites

  • 1 month later...
В 09.06.2019 в 11:51, naileddeath сказал:

В файле скрипта /opt/usr/bin/smarthtml.sh

#MTA_HELPER="exec ${OPENSSLCMD} s_client -quiet -tls1 -starttls smtp -connect ${MAIL_SMTP}"
если данную строку не закомментировать будет ошибка 535-5.7.8

Да, действительно, эту строку нужно закомментировать, что-то я её пропустил когда описывал процесс.

Спасибо что заметили.

Link to comment
Share on other sites

  • 2 months later...

Замечание по конфигу Cron -а

Quote

42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly    
# Read the information to the hard drive SMART #
10 */3 * * * /opt/usr/bin/smarthtml.sh

В таком виде работать не будет. Упущен Юзер под которым запускается скрипт

10 */3 * * * root /opt/usr/bin/smarthtml.sh

 

Ещё долго не мог понять почему lighttpd не работает, оказалось что строка с номером порта закоментана по умолчанию :) Было б здорово в топике обратить внимание на этот момент, сэкономит новичкам время.

 

В остальном всё здорово! Большое спасибо.

 

Из ньюансов у меня не получилось задествовать FDISK и соответственно информацию по разделам. 

Подкоюченый диск имеет 3 раздела (NTFS / Ext4 / Swap Linux)

Так вот ругается на третий раздел

df: /dev/sda3: can't find mount point

Может ктото сталкивался либо может подсказать как обойти?

Спасибо.

Link to comment
Share on other sites

  • 4 weeks later...
В 08.10.2016 в 21:38, beowulf0208 сказал:

Далее нужно отредактировать фаил sudoers ( /opt/etc/sudoers ). В оригинальной инструкции это предлагается сделать с помощью редактора vi используя комманду /opt/sbin/visudo. У меня почему то фаил не открылся для редактирования и я скопировал его на ПК, убрал атрибут "Только для чтения", отредактировал его с помощью Notepad++, сохранил изменения, вернул атрибут "Только для чтения" и вернул на прежнее место заменив старый фаил. В файле sudoers нужно добавить следующие строки (предположим, что веб-сервер запускается под юзером www) :


admin ALL=(ALL) ALL
www ALL=(admin) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh

Вторая строка разрешит пользователю www запускать /opt/bin/smartctl и /opt/usr/bin/smarthtml.sh с правами admin без ввода пароля (это важно!), что необходимо для выполнения .cgi сценария.
В случае успешной настройки при "клике" по ссылке "Check Now" в верхней части страницы таблица SMART должна обновиться вместе с датой последней проверки в заголовке таблицы.

В результате получится:

## User privilege specification
##
root ALL=(ALL) ALL
admin ALL=(ALL) ALL
www ALL=(admin) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh

Спасибо за тему, очень помогло.

По поводу запуска под не привилегированным пользователем.

У меня на Ultra II (3.1.10) заработало вот так:

root ALL=(ALL) ALL
www ALL=(root) NOPASSWD:/opt/bin/smartctl, /opt/usr/bin/smarthtml.sh

А с admin'ом не работает.

Edited by GodHappy
Версию ОС добавил
Link to comment
Share on other sites

  • 5 months later...

Добрый вечер.

Никак не могу победить построение графика температуры. Скрипты срабатывают. Информацию под диску (два раздела: ntfs, ext4) получает полностью. fdisk отображает свободное место на разделах. Есть таблица с температурой, но график не строится.

Уже перепробовал версии 0.8.5. и 1.0 smarthmtl - бесполезно :-(

Что может быть не так?

Link to comment
Share on other sites

13 часа назад, Depeshev сказал:

Что может быть не так?

Добрый день.

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

Если вручную запустить, сообщения/ошибки какие-нибудь есть?

В предыдущем случае скрипт "ругался" на невозможность определить точку монтирования для раздела. И там тоже на диске были разделы ntfs и ext, возможно это имеет какое-то отношение к проблеме.

~ # /opt/usr/bin/smarthtml.sh

 

Edited by Albram
Link to comment
Share on other sites

Вопрос снимаю. График начал рисоваться. Оказывается он рисует не сразу после запуска скрипта smarthtml.sh, а только по истечении 3 часов - как задано в настройках (я так думаю).

Вчера в 23:00 запустил cron, а уже утром получил график температуры. К сожалению по графику не видно когда он начал рисовать столбцы (масштаб не позволяет определить)

 

Правда fdisk почему определяет разделы не корректно, не критично - главное свободное место показывает.

Версии smarthml 0.8.5 и 1.0 отличаются только поддержкой в последней SSL для почтовых ящиков. Файлы smarthml.cgi одинаковые полностью.

001.jpg

002.jpg

Edited by Depeshev
Link to comment
Share on other sites

18 минут назад, Depeshev сказал:

Оказывается он рисует не сразу после запуска скрипта smarthtml.sh, а только по истечении 3 часов - как задано в настройках

Что в общем-то логично, т.к. при первом запуске в бд ещё нет данных для построения графика.

Link to comment
Share on other sites

Подключил второй диск, в smarthtml.sh в разделе DEVICES=/dev/sda /dev/sdb

Изменил параметр DFCMD="df -hT" (для отображения типа системы диска)

Перезапустил скрипт. Страница стала длиннее: первый раздел посвящен sda, а второй sdb. Ну и тип системы стал отображаться правильно.

 

004.jpg

Edited by Depeshev
Link to comment
Share on other sites

16 минут назад, Depeshev сказал:

Ну и тип системы стал отображаться правильно.

Только в колонке размера Size )

Link to comment
Share on other sites

Это у меня что-то с диском. Первые две строчки о размере диска выводятся командой fdisk -l /dev/sda , а вторые строчки - это уже вывод команды df -hT  Второй диск sdb система правильно отображает:

005.jpg.23988f42bfe808a952f58755b50a66b3.jpg

Link to comment
Share on other sites

Кстати, чтобы не ждать 3 часа, или сколько выставлено в параметрах скрипта, можно после первого запуска smarthtml.sh выполнить его же с параметром  makerrdgraph

~ # /opt/usr/bin/smarthtml.sh makerrdgraph

 

  • Thanks 2
Link to comment
Share on other sites

  • 1 month later...
В 09.04.2020 в 16:17, Depeshev сказал:

Второй диск sdb система правильно отображает:

Я вот про что тогда говорил:

Скрытый текст

005.jpg.86cb34b66cf4804bc46b2b40bfdc8e73.jpg

Если делать, тогда уж чтобы так было:

Скрытый текст

1.png.1fb0f67bab6ea589d14c4b4765d5f5e6.png

Для этого не только опции команды поменять надо, но и саму таблицу:

Скрытый текст

~ # diff /opt/usr/bin/smarthtml_old.sh /opt/usr/bin/smarthtml.sh
--- /opt/usr/bin/smarthtml_old.sh
+++ /opt/usr/bin/smarthtml.sh
@@ -62,7 +62,7 @@
 AWK_CMD="awk"
-DF_CMD="df -h"
+DF_CMD="df -hT"
 @@ -450,7 +450,7 @@
-            printf "<table class=\"info_table\">%s</table><br /><table class=\"info_table\">%s</table><br />\n<table class=\"info_table\"><tr class=\"infoarea\"><td align=\"left\">File system</td><td align=\"left\">Size</td><td align=\"left\">Used</td><td align=\"left\">Available</td><td align=\"left\">Capacity</td><td align=\"left\">Mounted on</td></tr>", disk_info_str, part_info_str >>HTML_OUTPUT;
+            printf "<table class=\"info_table\">%s</table><br /><table class=\"info_table\">%s</table><br />\n<table class=\"info_table\"><tr class=\"infoarea\"><td align=\"left\">File system</td><td align=\"left\">Type</td><td align=\"left\">Size</td><td align=\"left\">Used</td><td align=\"left\">Available</td><td align=\"left\">Capacity</td><td align=\"left\">Mounted on</td></tr>", disk_info_str, part_info_str >>HTML_OUTPUT;

 

 

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...