Jump to content

Albram

Forum Members
  • Posts

    390
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Albram

  1. Здравствуйте.К Интернет-Центру Zyxel Keenetic Ultra (версия NDMS: v2.06(AAGJ.0)C3) постоянно (круглосуточно) подключен внешний USB HDD Seagate Backup Plus ёмкостью 1ТБ, на который ведется архивирование штатными средствами Windows 10. Периодически (примерно раз в два-три месяца) в журнале интернет-центра появлялась ошибка от ntfs (точного текста ошибки, к сожалению не помню, и, как назло, скринов не сделал (*посыпает голову пеплом*), но в ней в том числе было написано: "... Подключите диск к компьютеру с Windows.") и после ошибки запись на диск прекращалась (например, невозможно было создать папку на диске через проводник или любой файловый менеджер), чтение при этом работало. "Лечилось" это подключением диска к компьютеру с Windows и выполнением проверки диска, при которой ошибок не находилось, но после этого запись на диск восстанавливалась и ошибок в журнале не было. Так продолжалось 3 года, пока после очередной такой ошибки и подключения диска к компьютеру с Windows файловая система диска перестала видеться, и диск виделся в формате RAW. При восстановлении диска выяснилось, что файл $MFT на диске состоит из более чем тысячи фрагментов по 256 блоков (скрин выполнения команды defrag прилагаю). Диск не имеет дефектных блоков и SMART диска в порядке. Источником проблемы (прямым или косвенным) по-видимому является драйвер ntfs в ПО роутера, который при увеличении записей в MFT создает мелкие фрагменты размером 256 блоков. Возможно как-то изменить такое поведение драйвера? Т.к. ситуация постепенно приводит к неработоспособности диска, подключенного к роутеру, на уровне файловой системы и грозит потерей всех данных на нем. Скрин
  2. На GitHub есть версия этого скрипта 1.0 в которой добавлено отображение информации о разделах и свободном месте диска. https://github.com/gSpotx2f/smarthtml Установка в принципе аналогична, только ещё fdisk нужно установить, чтобы использовать отображение сведений о разделе и указать правильный HTML_DIR: HTML_DIR="/opt/share/www"
  3. С полноценной утилитой лучше, но только наполовину) df /dev/sdb1 не работает, а по точке монтирования заработало, но в колонке Filesystem пусто. ~ # df -h /dev/sdb1 df: ‘/tmp/mnt/Seagate\\040Backup\\040Plus\\040Drive’: No such file or directory ~ # df -h /tmp/mnt/Seagate\ Backup\ Plus\ Drive/ Filesystem Size Used Avail Use% Mounted on - 932G 864G 68G 93% /tmp/mnt/Seagate Backup Plus Drive
  4. Отвечу сам себе: проблема была в метке тома. Поменял её на короткую и без пробелов, и проблема ушла. Но имхо df всё-таки должен понимать длинные имена, ls же понимает.
  5. Здравствуйте. К Keenetic Ultra с прошивкой 2.06 и Entware-Keenetic вот из этой темы: подключен внешний диск NTFS и флэшка Ext2 (с Entware) диск - /dev/sdb1, флэшка - /dev/sda1 команда df на /dev/sda1 работает: ~ # df -h /dev/sda1 Filesystem Size Used Available Use% Mounted on /dev/sda1 242.1M 22.2M 207.4M 10% /tmp/mnt/keenle на /dev/sdb1 выдает: ~ # df -h /dev/sdb1 Filesystem Size Used Available Use% Mounted on df: /tmp/mnt/Seagate\040Backup\040Plus\040Drive: No such file or directory Метка у диска такая длинная и с пробелами была изначально. df -h <точка монтирования> тоже не срабатывает: ~ # df -h /tmp/mnt/Seagate\ Backup\ Plus\ Drive/ Filesystem Size Used Available Use% Mounted on df: /tmp/mnt/Seagate\040Backup\040Plus\040Drive: No such file or directory хотя по ls содержимое диска видно: ~ # ls -l /tmp/mnt/Seagate\ Backup\ Plus\ Drive/ -rwxrwxr-x 1 root www 32 Jul 17 2012 Autorun.inf -rwxrwxr-x 2 root www 562718 Aug 15 2013 BackupPlus.ico ... В чем может быть проблема?
  6. Захотел добавить 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 Если всё сделано правильно, то получаем тестовое уведомление на указанный адрес.
×
×
  • Create New...