Jump to content

gvan

Forum Members
  • Posts

    210
  • Joined

  • Days Won

    2

Posts posted by gvan

  1. 1 час назад, Александр Рыжов сказал:

    книги из 2ГБ+ архивов unzip'ом быстро распаковываются?

    Да.

    2 часа назад, plagioklaz сказал:

    у меня открытие библиотеки со списком разделов занимает 7 секунд, поиск по всей базе занимает 16 секунд

    Подкрутил индексы. Стало лучше. Теперь порядка 20 секунд поиск занимает.

    Но файл с базой книг и авторов в sqlite стал уже занимать порядка 200Мб.

    Возможно, для ускорения процесса стоит попробовать конвертнуть БД в mariadb (mysql). Но задача не совсем тривиальная, и неизвестно будет ли выигрыш по скорости.

    • Upvote 1
  2.  

    В 12.01.2017 в 16:46, plagioklaz сказал:

    Ну что же, если банальной заменой циферки с 5 на 7 в списке установки пакетов не обойтись, то ещё где-то через пол года я смогу сочинить новую инструкцию, работающую на php7 )))))

    Дошли руки попробовать данное решение на Giga II c entware 3 и php7. Особых проблем, используя написанную инструкцию, при настройке не возникло (есть шероховатости, но они решаемые). Но что-то поиск книги по базе занимает у меня не меньше минуты. 

    Правда я базу создавал не через  MyHomeLib, а через приложенный там скрипт (т.е. полностью без использования ББ). Размер файла БД sqlite получается порядка 100Мб. Смотрю его структуру, но похоже, что индексов там особо нет. Возможно, в этом причина, а возможно, задача неподъемная для Giga II.

    Попробую еще поэкспериментировать, чтобы понять нужно ли это мне :)

  3. 3 часа назад, Buha сказал:

    Как в cron записать две или более команды в одну строку

    Или, если не хочется все-таки делать скрипт, то можно сделать так (команда cmd2 выполнится, если предыдущая команда cmd1 выполнилась без ошибок):

    cmd1 && cmd2

    Т.е. в вашем случае:

    ndmq -p 'no system led shutdown' -P message && ndmq -p 'system configuration save' -P message

     

  4. 1 минуту назад, serguei00 сказал:

    пишет не в syslog-ng, установленный также в opt, а в лог ndm, видимый в веб-интерфейсе( и у меня форвордящийся на внешний лог-сервер)

    И в чем проблема? Тут народ наоборот боролся с тем, чтобы сообщения писались и в веб и в syslog-ng (а не только в syslog).

    Варианта 2. Отключить задания, как я и писал выше. Наверняка эти задачи вам не нужны.

    Или разобраться самому почему это происходит. Я не представляю вашу конфигурацию. Что у вас установлено в entware кроме cron, запускается ли в ней syslog-ng и в какой конфигурации (а это, как оказалось, важно, даже если он не принимает сообщения от роутера), на какой сервер настроена отправка логов в самом роутере.

  5. 19 часов назад, serguei00 сказал:

    1. у всех так?

    2. И почему?

    У всех так. Если задач, которые выполняются каждые 1, 5 минут и т.д. в соответствующих каталогах /opt/etc/cron.xxx нет, то можно закоментарить в /opt/etc/crontab строки содержащие /opt/etc/cron.ххх

  6. 2 минуты назад, serguei00 сказал:

    у меня проблема в том, что в entware много что работает (syslog, ftp, скрипты по cron....) - как результат бьется ext2 при выключении.

    как бы автоматизировать процесс выключения?

    У меня тоже много чего работает из под entware.

    Что значит "автоматизировать выключение"? Если речь идет о штатной перезагрузке, то проблем не видел.

    Если же необходимо полностью обесточить роутер, то тут к сожалению автоматизацию придумать сложно. 

    В этом случае я через веб отмонтирую диск на начальной странице и выключаю питание (также настроена кнопка для отключения дисков).

    Как это работает сейчас в 2.04, информации не имею.

  7. 5 минут назад, serguei00 сказал:

    1. как посмотреть все ли в порядке с library 'libc.so.0'?

    У меня в rw обратно нормально перемонтируется. Ошибок нет, но и у меня entware3x используется.

    Возможно, гуру подскажут по обычной entware.

    7 минут назад, serguei00 сказал:

    2. как правильно перезагружать  и выключать девайс. Лучше из entware.

    Никогда не заморачивался. Можно и из entware reboot сказать (или тоже самое сделать из меню роутера). Ошибок не было. Главное не выключать роутер вилкой или кнопкой питания (без предварительного отмонтирования HDD).

    10 минут назад, serguei00 сказал:

    3.остается легкое непонимание: entware может быть отдельно перезагружено/выключено не затрагивая NDMS?

    А чем не устраивает отключение/включение компонента opkg из веба роутера?

  8. 9 часов назад, serguei00 сказал:

    те же яйца..

    А точно все сервисы, работающие в entware были предварительно оставлены? Сдается мне, что нет. В таком случае перемонтирование в readonly будет невозможно, если какому-то из сервисов нужен доступ к /opt.

  9. В 17.05.2017 в 16:36, Lordmaster сказал:

    Верно. Система - ext4, Entware-3x.

    У меня тоже e-3x, но ext3.

    Вроде удалось подобрать рабочий вариант конфига, в котором логи от внутренних служб роутера пишутся и в веб, и во внешний syslog-сервер. При этом также логи от сервисов entware-3x продолжают фиксироваться в syslog-ng.

    Пробуйте такой вариант (фрагмент конфига, где в разделе src убрана строка unix-stream("/dev/log");):

    source src {
            internal();
    };
    
    source net {
            udp(ip(192.168.1.1) port(514));
    };
    
    source kernel {
            file("/proc/kmsg" program_override("kernel"));
    };
    
    destination messages {
            file("/opt/var/log/messages");
    };
    
    log {
            source(src);
            source(net);
            source(kernel);
            destination(messages);
    };

    У меня пока работает. Перезагрузки роутера выполнял.

    Обращаю внимание, что после изменения конфига syslog-ng требуется выполнить полную перезагрузку роутера, т.к. выполнение перезапуска самого syslog будет недостаточно.

    • Thanks 1
  10. 32 минуты назад, vlad сказал:

    Какие команды добавить чтоб архивы складывались в папку backup и при этом папка была исключена из архивации ? 

    Для штатного в entware tar смотрите пример скрипта в первом посте (ключ -X используется для исключения файлов).

    Т.е. будет выглядеть примерно так:

    tar -X backup cvzf /opt/$(date \+\%d-\%m-\%Y-\%H-\%M)-backup.tar.gz *

    (если папка backup находится по адресу /opt/backup)

  11. 27 минут назад, vlad сказал:

    К сожалению не сработало ..архив не создался.Лишь строка от cron в логе кинетика.

    Да, в cron спецсимволы по другому обрабатываются. Попробуйте так

    50 16 * * * root cd /opt && /opt/bin/tar cvzf /opt/$(date \+\%d-\%m-\%Y-\%H-\%M)-backup.tar.gz * 

    У меня сработало

    • Thanks 1
  12. 3 часа назад, vlad сказал:

    tar cvzf /opt/`date "+%d-%m-%Y-%H-%M"`-backup.tar.gz -C /opt

    Зачем "-С /opt"? Так не будет работать. -C только при распаковке учитывается. Либо предварительно делать cd в каталог, который будет бэкапиться и бэкапить *, либо просто в конце указать /opt

    У вас же это конструкция наверняка и не из cron не работает? Отладьте работу сначала с консоли.

    3 часа назад, vlad сказал:

    42 11 * * * root /opt/bin/tar 'cvzf /opt/`date "+%d-%m-%Y-%H-%M"`-backup.tar.gz -C /opt .'

    А здесь вообще какая-то каша с кавычками и точкой в конце. С консоли тоже, сомневаюсь, что работать будет.

    Попробуйте такую команду:

    cd /opt && /opt/bin/tar cvzf /opt/`date "+%d-%m-%Y-%H-%M"`-backup.tar.gz *

     

  13. В 20.03.2017 в 10:51, St_Pavel сказал:

    При таком восстановлении у меня неправильно выставляются права на /opt - из-за чего ssh отказывал в авторизации по ключу с таким сообщением "Authentication refused: bad ownership or modes for directory /opt"

    Как и отмечено в комментариях TheBB функциональности имеющего tar достаточно для поставленной задачи. Все права и владельцев для файлов и каталогов он нормально сохраняет в архиве, а при распаковке архива - восстанавливает. Вопрос действительно может касаться каталога /opt (в зависимости от того, каким образом он создавался изначально)

    Если после проведения всех манипуляций по восстановлению, права на /opt не совпадают с 755 и владелец не root/root, то можно выполнить следующие команды:

    chown root:root /opt
    chmod 755 /opt

    Или же у вас при восстановлении архива и внутри подкаталога /opt права и владельцы также посбивались?

    • Thanks 1
  14. 18 часов назад, Илларион сказал:

    Тоже решил перейти на флешку, как у Вас реализовано отключение диска? Раньше вроде было в настройках веб интерфейса а сейчас что то найти не могу.

    Где-то на форуме от разработчиков проскакивала информация, что в последних версиях прошивки логическое засыпание винта отключили. В веб-интерфейсе это вообще давно убрали.

    У меня винт засыпает, скорее всего, из-за того, что сам контроллер (или прослойка между USB-SATA) решает отключить HDD. Т.е. через SMART и hddparm у меня принудительно отключать питание не удалось - винт все равно засыпает.

    Но это не тема для обсуждения данной проблемы здесь...

    • Thanks 1
  15. 1 минуту назад, Perevozchic сказал:

    Нет, ext3...

    Что показывает команда:

    ls -l /opt/etc/crontab
    -rw-------    1 root     root           490 Feb 10 09:57 /opt/etc/crontab

    Права должны быть обязательно, как в примере.

    Т.е. после редактирования файла через windows (а желательно этого все-таки не делать и редактировать файл напрямую в shell) необходимо выполнить:

    chmod 600 /opt/etc/crontab
    

     

    • Thanks 1
  16. 15 минут назад, Perevozchic сказал:

    не получилось отредактировать crontab, пишет  BAD FILE MOD

    Видимо, файловая система на диске с opkg NTFS. Тогда нужно ставить crontab от busybox, а не штатный. На форуме была информация о том как его установить.

    • Thanks 1
  17. В 04.03.2017 в 17:27, St_Pavel сказал:

    Можно как-то скопировать работающую Entware-3x с USB-флешки (ext2) на чистый ext2-раздел на внешнем hdd.

    Или надо/лучше устанавливать Entware-3x на hdd с нуля и потом копировать все конфиги?

    С нуля всегда лучше, т.к. наверняка, если entware используется длительно, могут оставаться "хвосты" от предыдущих установок пакетов.

    Если же желания заниматься этим нет и текущая entware работает стабильно, то информацию можно получить в данной теме.

    В самом простейшем случае, когда разделы уже созданы, отформатированы и подмонтированы копирование entware можно сделать следующим образом :

    cd /opt && tar -cf - * | tar -C /tmp/mnt/NEW_ENTWARE -xf -

    где NEW_ENTWARE - подмонтированный раздел для новой entware

  18. Апну тему.

    Обратил внимание, что на последних версиях прошивки 2.09 мой скрипт бэкапа стал делать новую копию прошивки, как-будто я ее обновляю каждый день. Но это не так.

    Стал разбираться и определил, что прошивка, сохраненная в файл через CLI каждый раз в бинарном виде отличается.

    Делаю две копии одной и той же прошивки с разницей в пару секунд и сравниваю:

    ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli' -P message
    ndmq -p 'copy flash:/firmware ADATA:/backup/firmware-cli2' -P message
    cmp -l firmware-cli firmware-cli2
    	12124209  44  14
    	12124210   0 270
    	12124211 145 144

    Всегда различаются байты с указанными номерами. Размер прошивки одинаковый.

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

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

    • Thanks 1
  19. В 21.02.2017 в 15:30, Anathema сказал:

    В целом проблема "решилась", когда я сделал последнее сохранение настроек в "рабочее время" по расписанию.

    Если есть entware, то можно поставить пакет fake-hwclock. Также ставим cron. Далее делаем задачу в cron для fake-hwclock с ключем обновления текущего времени в его конфигурационном файле с частотой, например, 5 минут. Если внезапно питание на роутере  пропадет, то при его запуске и старте entware также выполнится стартовый скрипт fake-hwclock, который пропишет в системные часы время из его конфигурации.

    • Thanks 1
×
×
  • Create New...