beowulf0208 Posted October 8, 2016 Posted October 8, 2016 (edited) Нашёл одну интересную статью в которой предлогается просматривать информацию SMART (температуру жёсткого диска, его модель, версию прошивки и др.) подключенного по USB жёсткого диска. Вся информация отображается в браузере и сохраняется в базу данных для последующего просмотра статистики за несколько дней. Для обновления информации используется планировщик задач cron. Для снятия показаний SMART используется программа smartmontools, для учёта статистики и построения графиков - rrdtool. Всё это работает с помощью веб-сервера на базе lighttpd на основе скрипта smarthtml_0.8.2. Скрипт получает данные из вывода smartctl, сравнивает их с сохранёнными значениями предыдущей проверки и создаёт html-страницу (/opt/share/www/smart.html) с таблицей атрибутов, отображая в ней последние изменения параметров. Также пишет в лог при изменении критически важных атрибутов и может отсылать сообщение по e-mail (sendmail). Перед началом использования, естественно, необходимо установить smartmontools и rrdtool с помощью комманды: opkg install smartmontools rrdtool Сам скрипт нужно положить, к примеру, в /opt/usr/bin/smarthtml.sh (после этого не забыв: chmod +x /opt/usr/bin/smarthtml.sh). Затем добавить в cron для регулярного запуска. Cron устанавливается с помощью комманды: opkg install cron После установки cron нужно отредактировать фаил crontab, который находится по адресу /opt/etc/crontab. В предлогаемой конфигурации файла crontab время обновления информации SMART равно 3 часам. 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 Далее нужно узнать как определяется в системе жёсткий диск, для этого нужно ввести комманду: smartctl --scan. В терминале можно посмотреть информацию смарт с помощью комманды: smartctl -a /dev/sdb. Чтоб узнать температуру жёсткого диска нужно ввести комманду: smartctl -d sat /dev/sdb -l scttemp |grep Temperature. Для просмотра более подробной информации о винчестере можно набрать комманду: smartctl --xall /dev/sdb. ~ # smartctl --scan /dev/sdb -d sat # /dev/sdb [SAT], ATA device ~ # smartctl -a /dev/sdb smartctl 6.5 2016-05-07 r4318 [mips-linux-2.6.22.15] (localbuild) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Western Digital AV Device Model: WDC WD3200BUCT-63TWBY0 Serial Number: WD-WX11E33PU344 LU WWN Device Id: 5 0014ee 6ae1231e9 Firmware Version: 01.01A01 User Capacity: 320 072 933 376 bytes [320 GB] Sector Sizes: 512 bytes logical, 4096 bytes 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: Sat Oct 8 18:21:49 2016 YEKT SMART support is: Available - device has SMART capability. SMART support is: Enabled При первом запуске (комманда sh /opt/usr/bin/smarthtml.sh) скрипт сам создаст каталог /opt/var/smarthtml/ и необходимые файлы для работы. ~ # sh /opt/usr/bin/smarthtml.sh + New dir /opt/var/smarthtml ... + New dir /opt/var/smarthtml/db ... + New dir /opt/var/smarthtml/log ... + New dir /opt/var/smarthtml/rrd ... + RRD DB /opt/var/smarthtml/rrd/sda.rrd was created... ~ # Параметры вызова скрипта: /opt/usr/bin/smarthtml.sh # запуск основной процедуры выполнения (запускается cron'ом по расписанию) /opt/usr/bin/smarthtml.sh resetwarn # сброс предупреждения после изменения критического параметра /opt/usr/bin/smarthtml.sh resetcount # сброс счётчиков изменений параметров /opt/usr/bin/smarthtml.sh makerrdgraph # только отрисовка графиков rrd без проверки SMART и без изменения данных /opt/usr/bin/smarthtml.sh mailtest # отправка тестового email (в случае использования e-mail оповещений) Про cgi-модуль smarthtml.cgi... Он позволяет обновлять данные SMART прямо с веб-страницы в любой момент, что может быть удобно для мониторинга в реальном времени. Эта процедура не затрагивает rrd (rrd обновляется cron'ом по расписанию), а поэтому может производиться в любое время когда требуется получить текущие данные. Для работы модуля необходимо в настройках веб-сервера указать выполнение .cgi файлов с помощью /bin/sh. Для lighttpd нужно установить модуль mod_cgi: opkg install lighttpd-mod-cgi ~ # opkg install lighttpd-mod-cgi Installing lighttpd-mod-cgi (1.4.38-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/lighttpd-mod-cgi_1.4.38-1_keenle.ipk. Installing lighttpd (1.4.38-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/lighttpd_1.4.38-1_keenle.ipk. Installing libpcre (8.39-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/libpcre_8.39-1_keenle.ipk. Configuring libpcre. Configuring lighttpd. Configuring lighttpd-mod-cgi. ~ # Далее в конфиге модуля /opt/etc/lighttpd/conf.d/30-cgi.conf изменить строку ".cgi" => "/opt/bin/perl", на ".cgi" => "/bin/sh", cgi.assign = ( ".pl" => "/opt/bin/perl", ".cgi" => "/bin/sh", ".rb" => "/opt/bin/ruby", ".erb" => "/opt/bin/eruby", ".py" => "/opt/bin/python" ) Это изменение заставит сервер выполнять .cgi файлы программой /bin/sh. Сам smarthtml.cgi нужно положить в /opt/share/www/cgi-bin/ и разрешить на выполнение: chmod +x /opt/share/www/cgi-bin/smarthtml.cgi. Скрипте smarthtml.sh отредактировать и изменить параметр USE_CGI_MODULE=0 на USE_CGI_MODULE=1. Так же в этом скрипте стоит обратить внимание на параметр Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc" Там дожна стоять буква соответствующая вашему винчестеру, в моём случае это b - DEVICES="/dev/sdb". Если подключен только 1 винчестер, то скоре всего это будет буква a. ### Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc") DEVICES="/dev/sdb" Есть один нюанс с правами доступа... Доступ к дисковым устройствам (/dev/sda и пр.) доступен лишь пользователю root (admin), в случае если ваш веб-сервер запускается с правами суперюзера (что в принципе нехорошо, но для embedded-систем является обычным делом), то нет никаких проблем. Если же сервер, скажем, публичный и запускается с правами специально созданного непривелегированного юзера, то можно использовать утилиту sudo из Entware для работы cgi-сценария. В smarthtml.cgi нужно выставить USE_SUDO=1. Затем установить и настроить sudo: ~ # opkg install sudo Installing sudo (1.8.14p3-1) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/sudo_1.8.14p3-1_keenle.ipk. Configuring sudo. ~ # Далее нужно отредактировать фаил 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 Чтоб заработал планировщик cron нужно перезагрузить роутер или просто запустить cron вручную с помощью комманды: /opt/etc/init.d/S10cron start ~ # /opt/etc/init.d/S10cron start Starting cron... already running. ~ # smarthtml_0.8.2.tar.gz Чтоб открыть страничку с информацией SMART нужно зайти по адресу \opt/share/www/ и открыть фаил smart.html Выглядит результат примерно так: Edited October 8, 2016 by beowulf0208 9 Quote
beowulf0208 Posted October 8, 2016 Author Posted October 8, 2016 Не знаю почему, но у меня обновление информации происходит только при ручном запуске скрипта: /opt/usr/bin/smarthtml.sh Нашёл на одном сайте способ проверки работы cron. В рамках тестирования работы cron в каталоге /opt/etc/cron.5mins размещаем тестовый файлик test.sh следующего содержания: #!/bin/sh date >> /tmp/crontest.txt Не забываем сделать его исполняемым: chmod 755 /opt/etc/cron.5mins/test.sh Пробуем перезагрузить роутер, ждем около 15 минут. Затем смотрим в файл /tmp/crontest.txt, там должно быть время срабатывания скрипта, если это так, то cron работает. Пробовал комманду: chmod +x /opt/etc/cron.5mins/test.sh Но результата работы cron я так и не увидел. И ещё у меня не срабатывает кнопка Check Now в браузере, может кто-нибудь сможет это исправить? 1 Quote
gvan Posted October 10, 2016 Posted October 10, 2016 В 08.10.2016 в 18:47, beowulf0208 сказал: Но результата работы cron я так и не увидел. Если установлен обычный cron через opkg install cron, и файловая система на диске с поддержкой opkg ntfs или fat, то работать задачи из cron не будут. Нужно поменять файловую систему на ext2/ext3 или установить crontab из busybox (п.2) Quote
beowulf0208 Posted October 10, 2016 Author Posted October 10, 2016 (edited) 29 минут назад, gvan сказал: Если установлен обычный cron через opkg install cron, и файловая система на диске с поддержкой opkg ntfs или fat, то работать задачи из cron не будут. Нужно поменять файловую систему на ext2/ext3 или установить crontab из busybox (п.2) У меня винчестер разделён на 2 раздела (NTFS и EXT3). На первом разделе размещена папка загрузок Transmission и aMule и ещё кое какие файлы, а на втором разделе (EXT3) установлен Entware. Установлен обычный cron. Edited October 10, 2016 by beowulf0208 Quote
gvan Posted October 10, 2016 Posted October 10, 2016 (edited) 8 минут назад, beowulf0208 сказал: а на втором разделе (EXT3) установлен Entware. Установлен обычный cron. Хорошо. Покажите содержимое файлов /opt/etc/crontab и вывод команды: ls -l /opt/etc/crontab ls -l /opt/etc/cron.5mins/test.sh ps | grep cron Также в test.sh лучше написать date >> /opt/tmp/crontest.txt Также, с учетом того, что cron работает "поверх" основной системы, то свои логи в веб-интерфейсе роутера он не показывает. Желательно включить логирование через ng-syslog, тогда свои сообщения (в т.ч. и об ошибках cron будет бросать в /opt/var/log/messages). Edited October 10, 2016 by gvan Дополнение 2 Quote
beowulf0208 Posted October 10, 2016 Author Posted October 10, 2016 10 минут назад, gvan сказал: Хорошо. Покажите содержимое файлов /opt/etc/crontab и вывод команды: ls -l /opt/etc/crontab ls -l /opt/etc/cron.5mins/test.sh Также в test.sh лучше написать date >> /opt/tmp/crontest.txt ~ # opkg install cron Installing cron (4.1-3) to root... Downloading http://pkg.entware-keenetic.ru/binaries/keenle/cron_4.1-3_keenle.ipk. Configuring cron. ~ # chmod +x /opt/etc/cron.5mins/test.sh ~ # sh /opt/etc/cron.5mins/test.sh ~ # /opt/etc/init.d/S10cron start Starting cron... done. ~ # ls -l /opt/etc/crontab -rw------- 1 root root 492 Sep 14 16:30 /opt/etc/crontab ~ # ls -l /opt/etc/cron.5mins/test.sh -rwxrwxrwx 1 root root 29 Oct 10 13:24 /opt/etc/cron.5mins/test.sh ~ # ps | grep cron 1037 root 920 S cron -s 1051 root 1576 S grep cron ~ # Quote
gvan Posted October 10, 2016 Posted October 10, 2016 1 минуту назад, beowulf0208 сказал: Installing cron (4.1-3) to root Вроде все нормально. Не хватает содержимого конф-файла /opt/etc/crontab Quote
beowulf0208 Posted October 10, 2016 Author Posted October 10, 2016 5 минут назад, gvan сказал: Вроде все нормально. Не хватает содержимого конф-файла /opt/etc/crontab Спасибо за помощь. Теперь буду знать какие права должны быть у файлов. И ещё я похоже понял почему "мой" тестовый фаил не заработал, а Ваш работает. Мой test.sh date >> /tmp/crontest.txt Ваш test.sh date >> /opt/tmp/crontest.txt Quote
gvan Posted October 10, 2016 Posted October 10, 2016 1 минуту назад, beowulf0208 сказал: Спасибо за помощь Пожалуйста. Т.е. в итоге заработало? Еще нужно не забывать в конце конф-файлов и текстовых скриптов добавлять пустую строку (иногда это может быть критично для нормального выполнения задач). 2 Quote
miltt Posted February 18, 2018 Posted February 18, 2018 (edited) не со всеми hdd работает Unsupported USB bridge [0x13fd:0x1040 (0x106) максимум, что "выжал": Скрытый текст ~ # smartctl -a -d scsi /dev/sda smartctl 6.6 2017-11-05 r4594 [mips-linux-3.4.113] (localbuild) Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Vendor: Initio Product: MK6026GAX Revision: 1.06 User Capacity: 60,011,642,880 bytes [60.0 GB] Logical block size: 512 bytes Device type: disk Local Time is: Sun Feb 18 22:37:08 2018 MSK SMART support is: Unavailable - device lacks SMART capability. === START OF READ SMART DATA SECTION === Current Drive Temperature: 0 C Drive Trip Temperature: 0 C Error Counter logging not supported Device does not support Self Test logging Edited February 18, 2018 by miltt Quote
Albram Posted March 12, 2018 Posted March 12, 2018 Захотел добавить 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 #ваш аккаунт на gmailpassword ........ #пароль в аккаунт на gmailfrom 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 Если всё сделано правильно, то получаем тестовое уведомление на указанный адрес. 1 Quote
Albram Posted March 14, 2018 Posted March 14, 2018 На GitHub есть версия этого скрипта 1.0 в которой добавлено отображение информации о разделах и свободном месте диска. https://github.com/gSpotx2f/smarthtml Установка в принципе аналогична, только ещё fdisk нужно установить, чтобы использовать отображение сведений о разделе и указать правильный HTML_DIR: HTML_DIR="/opt/share/www" Quote
X-MATSE Posted March 15, 2019 Posted March 15, 2019 (edited) В 14.03.2018 в 11:40, Albram сказал: На GitHub есть версия этого скрипта 1.0 в которой добавлено отображение информации о разделах и свободном месте диска. https://github.com/gSpotx2f/smarthtml Установка в принципе аналогична, только ещё fdisk нужно установить, чтобы использовать отображение сведений о разделе и указать правильный HTML_DIR: HTML_DIR="/opt/share/www Сделал всё по инструкции, но не работает график температур . Скрытый текст и..мгновенное обновление За обновление не жалко, а вот график критичен.. С чем может быть проблема? Edited March 15, 2019 by X-MATSE Quote
Albram Posted March 17, 2019 Posted March 17, 2019 (edited) В 16.03.2019 в 02:23, X-MATSE сказал: Сделал всё по инструкции, но не работает график температур .и..мгновенное обновление За обновление не жалко, а вот график критичен.. С чем может быть проблема? В скрипте /opt/usr/bin/smarthtml.sh использование rrd и cgi задается параметрами: … ### RRD support (0 - disable; 1 - enable)USE_RRD=1 ### RRD database preset (1 - 30mins; 2 - 1hour; 3 - 3hours; 4 - 6hours; 5 - 12hours; 6 - 24hours) RRD_DB_PRESET=3 ### S.M.A.R.T. attributes for RRD RRD_SMART_ATTRS="smart3 smart194" # Spin-up time & temperature #RRD_SMART_ATTRS="smart194" # Only a temperature data for RRD RRD_SMART_ATTR_DEF_PIC="smart194" ### CGI-module smarthtml.cgi (0 - disable; 1 - enable)USE_CGI_MODULE=1 Проверьте эти параметры. Также при первом запуске скрипта должны были создаться каталоги: /opt/var/smarthtml /opt/var/smarthtml/db /opt/var/smarthtml/log /opt/var/smarthtml/rrd и файл: /opt/var/smarthtml/rrd/sda.rrd Каталог скрипта cgi (для запуска проверки вручную со страницы), картинки графика и сам html файл страницы лежат здесь: ~ # ls -l /opt/share/www/ drwxr-xr-x 2 root root 1024 Oct 16 00:08 cgi-bin -rw-r--r-- 1 root root 30307 Mar 17 12:10 sdb_smart194_-14days.png -rw-r--r-- 1 root root 30525 Mar 17 12:10 sdb_smart194_-30days.png -rw-r--r-- 1 root root 37439 Mar 17 12:10 sdb_smart194_-365days.png -rw-r--r-- 1 root root 25929 Mar 17 12:10 sdb_smart3_-14days.png -rw-r--r-- 1 root root 23785 Mar 17 12:10 sdb_smart3_-30days.png -rw-r--r-- 1 root root 25338 Mar 17 12:10 sdb_smart3_-365days.png -rw-r--r-- 1 root root 20975 Mar 17 12:10 smart.html Смотрите что у вас не так. Edited March 17, 2019 by Albram 1 Quote
X-MATSE Posted March 17, 2019 Posted March 17, 2019 (edited) 3 часа назад, Albram сказал: ### RRD support (0 - disable; 1 - enable)USE_RRD=1 ### RRD database preset (1 - 30mins; 2 - 1hour; 3 - 3hours; 4 - 6hours; 5 - 12hours; 6 - 24hours) RRD_DB_PRESET=3 ### S.M.A.R.T. attributes for RRD RRD_SMART_ATTRS="smart3 smart194" # Spin-up time & temperature #RRD_SMART_ATTRS="smart194" # Only a temperature data for RRD RRD_SMART_ATTR_DEF_PIC="smart194" ### CGI-module smarthtml.cgi (0 - disable; 1 - enable)USE_CGI_MODULE=1 В моём случае : ### RRD support (0 - disable; 1 - enable) USE_RRD=1 ### RRD database preset (1 - 30mins; 2 - 1hour; 3 - 3hours; 4 - 6hours; 5 - 12hours; 6 - 24hours) RRD_DB_PRESET=3 ### S.M.A.R.T. attributes for RRD RRD_SMART_ATTRS="smart3 smart194" # Spin-up time & temperature #RRD_SMART_ATTRS="smart194" # Only a temperature data for RRD RRD_SMART_ATTR_DEF_PIC="smart194" ### CGI-module smarthtml.cgi (0 - disable; 1 - enable) USE_CGI_MODULE=1 Разницы не заметил. 3 часа назад, Albram сказал: Также при первом запуске скрипта должны были создаться каталоги: Всё есть. Вроде всё так.. Скрытый текст А можете кинуть сам скрипт smarthtml.sh и smarthtml.cgi Думаю, что криво работает rrdtool или smartmontools И меня очень напряг этот этап: В 08.10.2016 в 18:38, beowulf0208 сказал: ".cgi" => "/opt/bin/perl", на ".cgi" => "/bin/sh", Разве не на orp/bin/sh нужно переименовать...? Благодарю за помощь! Edited March 17, 2019 by X-MATSE Quote
TheBB Posted March 17, 2019 Posted March 17, 2019 Скрытый текст ➜ ssh root@192.168.861.291 -p 222222 root@192.168.861.291's password: -bash-4.4# -bash-4.4# /bin/sh -h NDM Shell Wrapper, version 1.0.7 Copyright (C) 2015 NDM Systems, Inc. Usage: sh - start ndm CLI session sh script-file [args...] - run script-file via /opt/bin/sh sh -c command - run command via /opt/bin/sh or execvp() -bash-4.4# -bash-4.4# /bin/sh Login: admin Password: ***** (config)> system - maintenance functions ntp - configure NTP schedule - schedule configuration known - manage lists of known network objects access-list - configure network access lists user - configure user account dyndns - configure DynDns profiles ndns - configure NDNS interface - network interface configuration ip - configure IP parameters ppe - Packet Processing Engine configuration igmp-snooping - configure IGMP snooping snmp - configure SNMP service service - manage services cifs - manage CIFS service dns-proxy - manage DNS proxy service mws - manage Modular Wi-Fi System whoami - display info about the current management session printer - printer configuration more - view text file ls - list directory contents copy - copy files erase - erase file or empty directory mkdir - create a new directory access - set user access for directory monitor - manage monitor services show - display various diagnostic information tools - tools for testing the environment opkg - Open Package configuration bwmeter - bandwidth meter components - manage firmware components cloud - manage cloud services (config)> exit Core::Configurator: Bye. -bash-4.4# -bash-4.4# /bin/sh /opt/etc/init.d/S10crond restart Shutting down crond... done. Starting crond... done. -bash-4.4# -bash-4.4# /bin/sh -c /opt/bin/sh BusyBox v1.29.2 () built-in shell (ash) ~ # exit -bash-4.4# 37 минут назад, X-MATSE сказал: Разве не на orp/bin/sh нужно переименовать...? с одной стороны - без разницы, с другой - неизвестно, что может принести очередное обновление 1 Quote
X-MATSE Posted March 17, 2019 Posted March 17, 2019 2 минуты назад, Kiborg_Man сказал: строки относящиеся к температуре нужно скорректировать под конкретный диск. Так он темпиратуру считывает нормально! Только вот график не строит( Скрытый текст Quote
Albram Posted March 17, 2019 Posted March 17, 2019 1 минуту назад, X-MATSE сказал: Так он темпиратуру считывает нормально! Только вот график не строит( На вашем скрине в корне web сервера есть файлы png для построения картинки графика, т.е. rrdtool отработал. А вот почему он не отображается, это уже другой вопрос. Посмотрите что у вас в этой части smarthtml.sh SCRIPT_ROOT="/opt/var/smarthtml" DB_DIR="${SCRIPT_ROOT}/db" LOG_DIR="${SCRIPT_ROOT}/log" MTA_MSG_FILE="${SCRIPT_ROOT}/email" HTML_DIR="/opt/share/www" HTML_OUTPUT="${HTML_DIR}/smart.html" CGI_MODULE_WWW_PATH="/cgi-bin/smarthtml.cgi" RRD_DB_DIR="${SCRIPT_ROOT}/rrd" RRD_DB_EXT="rrd" RRD_GRAPH_DIR="$HTML_DIR" RRD_GRAPH_WWW_PATH="." RRD_GRAPH_TYPE="PNG" RRD_GRAPH_EXT="png" RRD_GRAPH_WIDTH=600 RRD_GRAPH_HEIGHT=240 1 Quote
Rootdiv Posted March 17, 2019 Posted March 17, 2019 4 минуты назад, X-MATSE сказал: Только вот график не строит( В ручную скрипт запускали? Он выдал, что rrd база создана? 1 Quote
X-MATSE Posted March 17, 2019 Posted March 17, 2019 (edited) 11 минуту назад, Albram сказал: На вашем скрине в корне web сервера есть файлы png для построения картинки графика, т.е. rrdtool отработал. Они пустые, увы... Скрытый текст Так что скорее всего rrdtool Edited March 17, 2019 by X-MATSE Quote
X-MATSE Posted March 17, 2019 Posted March 17, 2019 6 минут назад, Kiborg_Man сказал: В ручную скрипт запускали? Он выдал, что rrd база создана? Запускал, уже после первого запуска: ~ # /opt/usr/bin/smarthtml.sh start df: /dev/sda2: can't find mount point ~ # Quote
X-MATSE Posted March 17, 2019 Posted March 17, 2019 9 минут назад, Albram сказал: А вот почему он не отображается, это уже другой вопрос. Посмотрите что у вас в этой части smarthtml.sh SCRIPT_ROOT="/opt/var/smarthtml" DB_DIR="${SCRIPT_ROOT}/db" LOG_DIR="${SCRIPT_ROOT}/log" MTA_MSG_FILE="${SCRIPT_ROOT}/email" HTML_DIR="/opt/share/www" HTML_OUTPUT="${HTML_DIR}/smart.html" CGI_MODULE_WWW_PATH="/cgi-bin/smarthtml.cgi" RRD_DB_DIR="${SCRIPT_ROOT}/rrd" RRD_DB_EXT="rrd" RRD_GRAPH_DIR="$HTML_DIR" RRD_GRAPH_WWW_PATH="." RRD_GRAPH_TYPE="PNG" RRD_GRAPH_EXT="png" RRD_GRAPH_WIDTH=600 RRD_GRAPH_HEIGHT=240 Всё так же Quote
Albram Posted March 17, 2019 Posted March 17, 2019 6 минут назад, X-MATSE сказал: ~ # /opt/usr/bin/smarthtml.sh start df: /dev/sda2: can't find mount point Имя диска правильно указано в скрипте, как на скрине /dev/sda ? А то бывает, что после переподключения sda и sdb местами меняются. 1 Quote
Rootdiv Posted March 17, 2019 Posted March 17, 2019 7 минут назад, X-MATSE сказал: Запускал, уже после первого запуска: ~ # /opt/usr/bin/smarthtml.sh start df: /dev/sda2: can't find mount point ~ # Вот и причина: 1) start не нужно; 2) путь к диску должен быть указан как /dev/sda 1 Quote
X-MATSE Posted March 17, 2019 Posted March 17, 2019 1 минуту назад, Albram сказал: Имя диска правильно указано в скрипте, как на скрине /dev/sda ? А то бывает, что после переподключения sda и sdb местами меняются. Там два раздела.. sda1 и sda2, в 1 - файты и остальное, 2 - свап Цитата Device Boot Start End Sectors Size Id Type /dev/sda1 no 2048 2928228351 2928226304 1.4T 83 Linux /dev/sda2 no 2928228352 2930276351 2048000 1000M 82 Linux swap / Solaris 3 минуты назад, Kiborg_Man сказал: 1) start не нужно Логи не меняются 3 минуты назад, Kiborg_Man сказал: путь к диску должен быть указан как /dev/sda ############################## Settings ################################ ### Devices (example for multiple devices: DEVICES="/dev/sda /dev/sdb /dev/sdc") DEVICES="/dev/sda" Всё так Quote
Albram Posted March 17, 2019 Posted March 17, 2019 1 час назад, X-MATSE сказал: А можете кинуть сам скрипт smarthtml.sh и smarthtml.cgi smarthtml.cgi smarthtml.sh Вот мои файлы. А вы с правами как в конце инструкции написано (где про sudo) ничего не делали? 1 Quote
X-MATSE Posted March 17, 2019 Posted March 17, 2019 6 минут назад, Albram сказал: А вы с правами как в конце инструкции написано (где про sudo) ничего не делали? Нет, а зачем? У меня же не сервак. Повторюсь - у меня графики пустые создаются в папке www? тут корень проблемы( ----- Заменил файлы на ваши и, о чуда, появилось! Скрытый текст Спасибо всем за участие! А что скрипт обновы не работает - это не важно! Quote
Albram Posted March 17, 2019 Posted March 17, 2019 4 минуты назад, X-MATSE сказал: Нет, а зачем? У меня же не сервак. Ну мало ли, может вы с правами что-то сделали, потому, например, и не работало. 5 минут назад, X-MATSE сказал: Заменил файлы на ваши и, о чуда, появилось! Осталось найти разницу)) Quote
X-MATSE Posted March 18, 2019 Posted March 18, 2019 20 часов назад, Albram сказал: Ну мало ли, может вы с правами что-то сделали, потому, например, и не работало. А есть программа для анализа 2-х файлов на несоответствие? Глянул в логи загрузки, а там.. Mar 18 13:24:30 root: Failed to start lighttpd from . Т е при включении он не стартует таки Quote
TheBB Posted March 18, 2019 Posted March 18, 2019 #offtop 1 час назад, X-MATSE сказал: А есть программа для анализа 2-х файлов на несоответствие? пакет `diffutils` 1 Quote
Recommended Posts
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.