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

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

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

Всем привет! 

Пытаюсь настроить Flexget на Keenetic Ultra II. С установкой справился, веб-интерфейс настроил, задания отрабатываются.

Возникла проблема с запуском демона после загрузки системы.

Пытаюсь следовать рекомендациям на официальном сайте. Однако добавление в crontab правила 

@reboot /opt/bin/flexget daemon start -d

не возымело эффекта.

Попытался зайти с другой стороны: создал в папке etc/init.d файл S92flexget следующего содержания:

/opt/bin/flexget daemon start -d

Эта команда запуска демона, вызываемая из CLI, выполняется достаточно долго (по ощущениям, около минуты, точнее не замерял). Ошибок не выдает, завершается корректно и после этого всё работает. 

Однако после перезагрузки в логе имею сообщение:

Mar 20 00:07:40 ndm Opkg::Manager: /opt/etc/init.d/rc.unslung: timed out.

И flexget не работает, пока не запустить его вручную. Может быть, кто-то подскажет, что я делаю не так?

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

Спасибо за совет, но боюсь что aria2 - немного не то. Flexget я собирался использовать не столько для закачки (для этого есть transmission), сколько для отслеживания появления новых загрузок на основе RSS-лент трекеров и данных из trakt.tv. Да и я не назвал бы его сильно тяжеловесным: проц практически не грузит, памяти использует только 20% (и то думаю что в основном из-за веб-интерфейса).

Давайте зайдем с другой стороны: ограничение на время запуска скрипта только во время инициализации (т.е. для размещенных в папке init.d)? Или это распространяется на все автоматически запускаемые скрипты? Однако достаточно долгий скрипт синхронизации папок с помощью rsync у меня выполняется каждый день с помощью cron.daily,

Если это ограничение распространяется только на init-скрипты, тогда может кто-то подсказать, как организовать выполнение скрипта с помощью cron (или другого планировщика) один раз например через минуту после перезагрузки устройства? Или можно как-то отрегулировать таймауты на выполнение скриптов?

Опубликовано
40 минут назад, Tem@ сказал:

Давайте зайдем с другой стороны: ограничение на время запуска скрипта только во время инициализации (т.е. для размещенных в папке init.d)? Или это распространяется на все автоматически запускаемые скрипты? Однако достаточно долгий скрипт синхронизации папок с помощью rsync у меня выполняется каждый день с помощью cron.daily,

Ограничения (разные) есть на initrc скрипт и на скрипты хуки в /opt/etc/ndm. Точнее скажут разработчики прошивки. Про cron - попробуйте прикрутить, что там за ограничения и есть ли - не знаю. По initrc - попробуйте сразу запустить в фоне (символ &), чтобы исполнение скрипта пошло дальше.

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

В общем, разобрался в проблеме.

Похоже что дело было в том, что при автозапуске flexget не мог найти свой конфигурационный файл (хотя при запуске из командной строки у него таких проблем не возникало и он вполне легко находил файл config,yml, размещенный в папке /opt/root/.flexget).

В результате добавил в crontab такую строку:

@reboot root /opt/bin/flexget -c /opt/root/.flexget/config.yml daemon start -d > /opt/etc/flexget.start.log 2>&1

И всё заработало. В логе запись об успешном старте демона и предупреждение об использовании ascii-символов... но это совсем другая история :)

Опубликовано
9 часов назад, Tem@ сказал:

В результате добавил в crontab такую строку:

1. Нужно бы проверять, запущено ли приложение. Запускать, только если не запущено.

2. В отличии от запуска через /opt/etc/init.d приложение не будет остановлено (выгружено) при перезагрузке роутера - отсюда пойдут ошибки на диске.

Опубликовано
2 часа назад, zyxmon сказал:

1. Нужно бы проверять, запущено ли приложение. Запускать, только если не запущено.

А в каком случае после ребута оно может быть запущено? До сих пор такого не наблюдалось.

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

2. В отличии от запуска через /opt/etc/init.d приложение не будет остановлено (выгружено) при перезагрузке роутера - отсюда пойдут ошибки на диске.

Правильно ли я понимаю, что ошибки на диске возникнут, если роутер будет перезагружен в момент записи данных на диск? 

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

1. Не обратил внимание на @reboot.

2. linux кеширует данные, пока данные в кеше и не сброшены на носитель возможно возниконовение ошибок на файловой системе при перезагрузке.

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

2. linux кеширует данные, пока данные в кеше и не сброшены на носитель возможно возниконовение ошибок на файловой системе при перезагрузке.

И что с этим делать? Как я понимаю, просто скрипта запуска в папке init.d недостаточно для того, чтобы отрабатывать выключение. Наверное, нужно в него добавлять реакцию на команды "start", "stop" и т.п.?

Опубликовано
15 минут назад, Tem@ сказал:

нужно в него добавлять реакцию на команды "start", "stop" и т.п.?

Все скрипты из init.d понимают дополнительные параметры (start, stop, restart и т.д.). Примеров вагон. Тот же dropbear, который уже в системе.

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

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

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

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

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

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

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

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

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

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

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

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