Temat: uruchamianie usługi przy starcie

Hejka,

Mam usługę zdefiniowaną w /etc/init.d/

#!/bin/sh /etc/rc.common
 
START=80
USE_PROCD=1

start_service() {
        /usr/bin/check1.sh
        /usr/bin/check2.sh prd
        /usr/bin/get_auth_code1.sh
        /usr/bin/get_auth_code2.sh
    /usr/bin/get_creds.sh
        procd_open_instance
        procd_set_param command /usr/bin/serwisd
        procd_set_param respawn
        procd_close_instance
}

Wywołując /etc/init.d/serwisd start albo restart wszystko idzie jak trzeba - wszystkie skrypty się uruchamiają przed startem usługi, natomiast przy starcie samego systemu uruchamia się sama usługa, a skrypty już nie. Podejrzewam, że coś zrobiłem źle w definicji usługi, ale nie mam specjalnie pomysłu co...

Jakieś sugestie może? Dzięki z góry

K

2

Odp: uruchamianie usługi przy starcie

A dałeś /etc/init.d/serwisd enable ?
Masz symlink w /etc/rc.d/S80serwisd ?

3

Odp: uruchamianie usługi przy starcie

Masz w skryptach coś co jeszcze mogło się nie uruchomić? Sięganie do sieci, sięganie do podmontowanego zasobu itd? Wstaw sobie do skryptów proste logowanie i zobacz gdzie się zatrzymuje wykonanie tego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: uruchamianie usługi przy starcie

Mam wszystko ustawione - to mi ogarnia opkg przy instalacji pakietu. Natomiast chyba już wiem jaka może być przyczyna - mój serwis startuje jako S80, natomiast serwis cellular jako S99, więc później, zatem skrypty jak zauważyłeś nie mają prawa się wykonać, bo muszą pobrać klucze z serwisu w sieci zewnętrznej. Zamieniłem miejscami usługi, dołożyłem logowanie i wiem już gdzie leży problem. Skrypty próbują sięgać do sieci, natomiast interfejs GSMowy potrzebuje chwili, aby wstać, a w międzyczasie skrypty kończą prace bez żadnych efektów. Czy jest jakiś sposób jak to w miarę elegancko rozwiązać?

5

Odp: uruchamianie usługi przy starcie

Na hotplugu jak wstanie sieć komórkowa. Nawet nie wiem dlaczego pomyślałeś żeby to wrzucić od razu w skrypty startowe.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

Odp: uruchamianie usługi przy starcie

Na hotplugu jak wstanie sieć komórkowa - jak to ogarnąć, to trochę skrót myślowy wink. Myślałem, żeby na początku skryptu w pętli odpytywać metodę diagnostyczną API zanim nie pokaże się 200 i dopiero potem puścić go dalej.

7

Odp: uruchamianie usługi przy starcie

Bez sensu marnowanie zasobów. Przeczytaj https://openwrt.org/docs/guide-user/base-system/hotplug oraz https://openwrt.org/docs/guide-user/adv … lug_extras

Robisz skrypt w odpowiednim katalogu (np. iface), jak interfejs wstanie i jest to połączenie komórkowe (sprawdzasz zmienne ACTION czy jest ifup i INTERFACE czy to ten od gsm), to po prostu coś w nim uruchamiasz.

Tak są robione np. restarty vpnów przy podniesieniu wanu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: uruchamianie usługi przy starcie

Miałem dzisiaj podobną zagwozdkę związaną z uruchamianiem skryptu po podniesieniu się vpna. Dodałem skrypt do /etc/init.d ale uruchamiało się to przed podniesieniem się vpn. Poczytałem nt hotpluga i iface i osiągnąłem cel. Dziękuję Cezary za naprowadzenie na trop. Poleciała kawa.