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

opkg: Выполнение скриптов /opt/etc/ndm/*.d/ в сортированном порядке


Вопрос

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

Столкнулся с тем, что скрипты /opt/etc/ndm/*.d/ выполняются в произвольном порядке.

Создаю скрипт со следующим содержимым…

# cat script_template.sh
#!/bin/sh

echo $0 executed at $(date) >> /opt/var/log/script.log

…и помещаю несколько его копий в /opt/etc/ndm/netfilter.d. После перезагрузки:

# cat /opt/var/log/script.log
/opt/etc/ndm/netfilter.d/003-three.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/005-five.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/004-four.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/001-one.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/002-two.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/003-three.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/005-five.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/004-four.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/001-one.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/002-two.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/003-three.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/005-five.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/004-four.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/001-one.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/002-two.sh executed at Wed Jul 27 08:55:53 UTC 2016
/opt/etc/ndm/netfilter.d/003-three.sh executed at Wed Jul 27 08:55:55 UTC 2016
/opt/etc/ndm/netfilter.d/005-five.sh executed at Wed Jul 27 08:55:55 UTC 2016
/opt/etc/ndm/netfilter.d/004-four.sh executed at Wed Jul 27 08:55:55 UTC 2016
/opt/etc/ndm/netfilter.d/001-one.sh executed at Wed Jul 27 08:55:55 UTC 2016
/opt/etc/ndm/netfilter.d/002-two.sh executed at Wed Jul 27 08:55:55 UTC 2016

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

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

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

Порядок. Во всех смыслах.

root@Keenetic_Omni:~# cat script.log
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:41 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:41 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:41 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:41 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:41 UTC 2016

Спасибо за работу.

ЗЫ: судя по логу, после перезагрузки скрипты netfilter.d дёргались пять раз несмотря на IPoE-подключение. Так и должно быть?

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

При запуске скриптов из *.d выполнение идёт последовательно. Сортировки и правда не было, добавим для определенности.

  • Спасибо 1
  • 0
Опубликовано
15 минут назад, Александр Рыжов сказал:

Порядок. Во всех смыслах.


root@Keenetic_Omni:~# cat script.log
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:38 UTC 2016
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:40 UTC 2016
/opt/etc/ndm/netfilter.d/001.sh executed at Mon Aug 1 06:01:41 UTC 2016
/opt/etc/ndm/netfilter.d/002.sh executed at Mon Aug 1 06:01:41 UTC 2016
/opt/etc/ndm/netfilter.d/003.sh executed at Mon Aug 1 06:01:41 UTC 2016
/opt/etc/ndm/netfilter.d/004.sh executed at Mon Aug 1 06:01:41 UTC 2016
/opt/etc/ndm/netfilter.d/005.sh executed at Mon Aug 1 06:01:41 UTC 2016

Спасибо за работу.

ЗЫ: судя по логу, после перезагрузки скрипты netfilter.d дёргались пять раз несмотря на IPoE-подключение. Так и должно быть?

Да, netfilter у нас переконфигурируется часто и по не всегда очевидным для пользователя прошивки причинам :) Нужно быть готовым к столь частым вызовам.

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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

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

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