Перейти к содержанию

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

Опубликовано

Добрый день.

По USB 3.0 подключен внешний диск с внешним питанием, который не засыпает и все время крутит блины (даже после извлечения). Мне посоветовали команду "hdparm -S 12 /dev/sdX" для перехода в спящий режим через 60 сек, если нет обращений к диску. Как реализовать эту команду автозапуском, чтобы при перезагрузке роутера снова не вводить ее вручную? Можно обойтись без OPKG и прописать ее в startup-config? Giga III, NDMS v2.11.C.0.0-1.

Опубликовано

Коли доступа на работе к роутеру не имею, отвечу вопросом на вопрос. А вы проверяли наличие в прошивке утилиты hdparm? Этим я отвечаю на ваш второй вопрос...

Опубликовано

Нет, не проверял. И судя по вашему хитрому взгляду, прошивка не имеет этой утилиты. Для меня программирование - темный лес. Единственное, что я хочу - чтобы через n-ое кол-во времени диск переходил в спящий режим. Уверен, что сделать это возможно, но как, через что, и c помощью этого ли форума - не знаю. И мне за несколько дней вопросов и ответов не попался еще ни один человек, который мог бы внятно ответить на мой вопрос и помочь (а я уверен, что там все делается буквально на раз-два). И чувствую, что так и буду дальше по крупицам с разных форумов собирать информацию, выучу все языки программирования и из графического дизайнера переквалифицируюсь в программиста.

Опубликовано

Кем бы вы не были в реальной жизни, умение искать никак не зависит от вашей профессии. Тут программистов, как вы выражаетесь ровно полтора штуки. Остальные просто проходили мимо... Тыц

Опубликовано

Обычно так и делаю - сначала ищу готовые решения, т.к. они гораздо быстрее реализовываются на практике, чем создавать тему. Находил и читал по ссылке, которую вы дали, но там там нет ответа на вопрос. Там рекомендуют либо не отключать совсем, либо физически выключить. У меня другой вопрос.

Опубликовано
47 минут назад, Zatserkovnyy сказал:

Добрый день.

По USB 3.0 подключен внешний диск с внешним питанием, который не засыпает и все время крутит блины (даже после извлечения). Мне посоветовали команду "hdparm -S 12 /dev/sdX" для перехода в спящий режим через 60 сек, если нет обращений к диску. Как реализовать эту команду автозапуском, чтобы при перезагрузке роутера снова не вводить ее вручную? Можно обойтись без OPKG и прописать ее в startup-config? Giga III, NDMS v2.11.C.0.0-1.

Без opkg это сейчас невозможно сделать.

Опубликовано (изменено)
2 минуты назад, sergeyk сказал:

Без opkg это сейчас невозможно сделать.

Отлично. Значит мне надо включить opkg в роутере (как это сделать - в базе знаний нашел, прочту), а далее как сделать автозагрузку команды? Не важно какая ФС у внешнего винта для установки opkg? Сейчас HFS+ (есть возможность в NTFS форматнуть). Или, если возможно, покажите где можно прочитать об автозагрузке команд в opkg. Найти не могу, честно, иначе бы не мучил.

Изменено пользователем Zatserkovnyy
Опубликовано
11 минуту назад, Zatserkovnyy сказал:

Отлично. Значит мне надо включить opkg в роутере (как это сделать - в базе знаний нашел, прочту), а далее как сделать автозагрузку команды? Не важно какая ФС у внешнего винта для установки opkg? Сейчас HFS+ (есть возможность в NTFS форматнуть). Или, если возможно, покажите где можно прочитать об автозагрузке команд в opkg. Найти не могу, честно, иначе бы не мучил.

Попытаюсь кратко. Поищите по форуму как установить entware. После установки оного вам нужно будет установить злополучную утилиту hdparm и потом в cron запилить вашу команду. Простите за вас гуглить не буду. Неудобно с телефона... 

Опубликовано (изменено)
33 минуты назад, Mamay сказал:

Попытаюсь кратко. Поищите по форуму как установить entware. После установки оного вам нужно будет установить злополучную утилиту hdparm и потом в cron запилить вашу команду. Простите за вас гуглить не буду. Неудобно с телефона... 

Спасибо. Правильно понял, что после установки entware, устанавливаю две утилиты - hdparm и cron, потом в конфиге cron прописываю строку "hdparm -S 12 /dev/sdX" и все это дело будет автоматически стартовать после каждой перезагрузки роутера?

Или нужна строчка "@reboot hdparm -S 12 /dev/sdX"? Чтобы при каждой перезагрузке запускалась команда.

Или ее в crontab вписывать надо?

Изменено пользователем Zatserkovnyy
Опубликовано
38 минут назад, Zatserkovnyy сказал:

Спасибо. Правильно понял, что после установки entware, устанавливаю две утилиты - hdparm и cron, потом в конфиге cron прописываю строку "hdparm -S 12 /dev/sdX" и все это дело будет автоматически стартовать после каждой перезагрузки роутера?

Или нужна строчка "@reboot hdparm -S 12 /dev/sdX"? Чтобы при каждой перезагрузке запускалась команда.

Или ее в crontab вписывать надо?

К чему такие сложности - создаете в /opt/etc/init.d файл с именем S100hdparm.sh - chmod 755 S100hdparm.sh и перегружаете роутер.

Опубликовано (изменено)
1 час назад, vasek00 сказал:

К чему такие сложности - создаете в /opt/etc/init.d файл с именем S100hdparm.sh - chmod 755 S100hdparm.sh и перегружаете роутер.

А куда вписывать "hdparm -S 12 /dev/sdX"? В файл S100hdparm.sh прописать "- chmod 755" или "- chmod 755 S100hdparm.sh"?

Или S100hdparm.sh - это и будет команда на сон, где 100 - секунды? Хотя сомневаюсь. Или в файле S100hdparm.sh прописываем

#!/opt/bin/sh

hdparm -S 12 /dev/sdX

chmod 755 S100hdparm.sh

Изменено пользователем Zatserkovnyy
Опубликовано (изменено)

Установил OPKG (на ext4.. кстати, только ext3/ext4 пригодна для OPKG?), установил Entware, инсталлировал hdparm, закинул .sh-файл, все прошло гладко, но.. что-то не останавливается. Полная остановка происходит только тогда, когда вытаскиваю usb-кабель, либо выключаю роутер :(

Изменено пользователем Zatserkovnyy
Опубликовано (изменено)

Когда посылаю команду напрямую через Терминал, все работает так, как надо (пробовал и -Y и -S), а вот с автозапуском .sh не работает. Что я делаю не так?

Единственное, OPKG ставил на флешку, сейчас попробую на HDD поставить.. может что-то с таймингами, флешка-то быстрее грузится (и видно в журнале что она sdb, а sda еще не подгрузились) и дает команды в то время, когда второй HDD только разгоняется.. ну это так, догадки.

Снимок экрана 2018-03-31 в 0.36.07.png

 

Снимок экрана 2018-03-31 в 0.33.21.png

Снимок экрана 2018-03-31 в 1.30.16.png

Изменено пользователем Zatserkovnyy
Опубликовано
14 минуты назад, Zatserkovnyy сказал:

В общем, после перезагрузки команда автоматом не запускается, приходится вручную. Как это исправить? Или какие еще варианта автозапуска есть?

Проблема, скорее всего, в том, что в момент запуска этого скрипта диск еще не обнаружен системой.

Лучше использовать hook-скрипты, которые вызываются по событиям от системы:

https://github.com/ndmsystems/packages/wiki/Opkg-Component

В частности, вам лучше обрабатывать события в /opt/etc/ndm/fs.d, который вызывается при монтировании ($1=start) разделов. Тогда команда будет отрабатывать не только при старте, но и при горячем подключении диска.

Опубликовано (изменено)

Вчера диск уходил в сон по команде и после одной перезагрузки. Сегодня ни в какую не хочет даже по команде через ssh. Уже час крутит блины, хотя команда была выполнена. Может диск проводить самодиагностику? Сколько оа может продолжаться? Диск Hitachi 2 Тб. Есть команда отключения самодиагностики? Если да, то ее добавить строчкой после hdparm?

 

Изменено пользователем Zatserkovnyy
Опубликовано (изменено)
1 час назад, sergeyk сказал:

Проблема, скорее всего, в том, что в момент запуска этого скрипта диск еще не обнаружен системой.

Лучше использовать hook-скрипты, которые вызываются по событиям от системы:

https://github.com/ndmsystems/packages/wiki/Opkg-Component

В частности, вам лучше обрабатывать события в /opt/etc/ndm/fs.d, который вызывается при монтировании ($1=start) разделов. Тогда команда будет отрабатывать не только при старте, но и при горячем подключении диска.

Мне кажется, что дело в другом. Выше написал предположение.. Т.к. по команде -Y блины останавливает, а команду -S вроде как выполняет, но диск все равно чем-то занят)

Изменено пользователем Zatserkovnyy
Опубликовано (изменено)
6 часов назад, Zatserkovnyy сказал:

 

Содержимое файла всего из двух строк

#!/bin/sh
hdparm -S 12 /dev/sda

 

Изменено пользователем vasek00
Опубликовано (изменено)
43 минуты назад, vasek00 сказал:

Содержимое файла всего из двух строк


#!/bin/sh
hdparm -S 12 /dev/sda

 

Ок. Закинул .sh-файл, ввожу в терминале chmod 755 S100hdparm.sh - пишет вот что:

 

Снимок экрана 2018-03-31 в 18.27.58.png

А вот так вроде бы прошло.. по-крайней мере не ругается: 

5abfb11ad80ac_2018-03-3119_02_00.png.bc580a8f71f2f12c06dd556884c70ed4.png

Изменено пользователем Zatserkovnyy
Опубликовано

Победил! Все-таки проблема была в офлайн-селф-тесте, который не давал диску уйти в сон. Установил smartmontools, но этот диск не хотел смарт-статус отображать, хотя другой подключенный - без проблем. Через -d sat добрался-таки, выключил офлайн сканирование, и все заработало как надо. Последний скрин с последнего сообщения рабочий, где надо было путь прописать до S100hdparm.sh. Всем спасибо, кто помогал и направлял!

  • 2 года спустя...
Опубликовано (изменено)

Здравствуйте у меня подключено 2 HDD  подскажите как правильно сделать запись для нескольких дисков в S100hdparm.sh
У меня для одного HDD я прописывал так:
#!/bin/sh
hdparm -S 120 /dev/sda
а как для второго или третьего прописать или для всех сразу?

И потом часто после выключения роутера имена дисков меняются был cda а стал cdb или cdd как все эти диски прописать?

Изменено пользователем Niko nik
Опубликовано
/ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                19712     19712         0 100% /
...
/dev/sda1            481296380 443464668  37831712  92% /tmp/mnt/01D.......80
/dev/sda3              4671018    780763   3636508  18% /tmp/mnt/fc5.....d401
/dev/sda3              4671018    780763   3636508  18% /opt
/dev/sdb1            126636028 125564460   1071568  99% /tmp/mnt/01D......B60
/dev/sdb2            185930748 175608208  10322540  94% /tmp/mnt/01D.....9960
/ # df | grep sd | awk '{print $1}'
/dev/sda1
/dev/sda3
/dev/sda3
/dev/sdb1
/dev/sdb2
/ # 

/ # for name_sd in `df | grep sd | awk '{print $1}' | sed 's/\(^.\{8\}\).*$/\1/' | sed -n 'G; s/\n/&&/; /^\([ -
~]*\n\).*\n\1/d; s/\n//; h; P' ` ; do echo "$name_sd"; done
/dev/sda
/dev/sdb
/ # 

Как то так

Опубликовано
~ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                15616     15616         0 100% /
tmpfs                   127356         0    127356   0% /dev
tmpfs                   127356       212    127144   0% /tmp
/dev/mtdblock/7           2048       384      1664  19% /storage
/dev/sda2              5465885 18014398509439612   5212117 830% /tmp/mnt/bfefcf53-6f80-d601-a0e7-ca536f80d601
/dev/sda5              7869435   1615181   5829858  22% /tmp/mnt/f43c1f32-8280-d601-603c-1f328280d601
/dev/sda2              5465885 18014398509439612   5212117 830% /opt
/dev/sdb1            976760828  46741696 930019132   5% /tmp/mnt/0000ECC10000EA34
~ # df | grep sd | awk '{print $1}'
/dev/sda2
/dev/sda5
/dev/sda2
/dev/sdb1
~ #
~ # for name_sd in `df | grep sd | awk '{print $1}' | sed 's/\(^.\{8\}\).*$/\1/'
 | sed -n 'G; s/\n/&&/; /^\([ -
> ~]*\n\).*\n\1/d; s/\n//; h; P' ` ; do echo "$name_sd"; done
sed: unmatched '/'
~ # /dev/sda
-sh: /dev/sda: Permission denied
~ # /dev/sdb
-sh: /dev/sdb: Permission denied
~ #

 

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

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

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

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.