1 (edytowany przez marcin19883 2019-07-20 14:51:07)

Temat: Skrypt w /etc/uci-defaults nie działa

Tworze sobie skrypt z wpisami:


#!/bin/sh

uci -q batch <<-EOT

set system.@system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3'
set system.@system[0].zonename='Europe/Warsaw'
set system.ntp=timeserver
set system.ntp.enabled='1'

commit system

EOT

exit 0

Niestety jak wchodze w Luci, to nie zmiania regionu. Co robię nie tak? Mam inne skrypty tak samo zrobione i wszystko elegancko zmiania. Sprawdzam czy sie  nie pomyliłem i wychodzi, że jest tak samo jak w uci show system.

2

Odp: Skrypt w /etc/uci-defaults nie działa

Ponieważ system tworzy się samodzielnie system (domyślnie go nie ma) i w /etc/uci-defaults może być lekko za wcześnie - pliku może jeszcze nie być. Zrób sobie sleep 10 przed uci.

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

3 (edytowany przez marcin19883 2019-07-20 16:46:23)

Odp: Skrypt w /etc/uci-defaults nie działa

Ok zrobie tak z każdym skryptem.

ps. zadziałało jednak, ale jak sflashowałem ubi factory. Wcześniej przez sysupgrade nie działało.

4

Odp: Skrypt w /etc/uci-defaults nie działa

To się wykonuje asynchroniczne, więc po prostu może miałeś szczęście tym razem.

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

5

Odp: Skrypt w /etc/uci-defaults nie działa

Mogę każdy skrypt np. wireless, uhttpd, sleep 10 zrobić? czy nie ma potrzeby? wystarczy skrypt z systemem?

6

Odp: Skrypt w /etc/uci-defaults nie działa

system/network/wireless - tych nie ma domyślnie, są robione przez skrypty. Reszta już jest (poza jakimiś dziwnymi wyjątkami w zwykłych pakietach).

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

7 (edytowany przez marcin19883 2019-07-20 23:53:14)

Odp: Skrypt w /etc/uci-defaults nie działa

Po dodaniu komendy sleep 10, wszystko działa. Zarówno obraz factory jak i sysupgrade bez zachowania zmian. Dzieki za pomoc.

8 (edytowany przez marcin19883 2019-12-30 17:30:30)

Odp: Skrypt w /etc/uci-defaults nie działa

Z ciekawości wchodze na stronę openwrt i widzę, że trochę się skrypt zmienił. Teraz wygląda tak początek:

#!/bin/sh
uci -q batch << EOF

i końcówka:

EOF
EOF_cat

I co teraz? mam zmienić, czy zostawić? EOF_cat chyba nie potrzebne?

9

Odp: Skrypt w /etc/uci-defaults nie działa

Nie, nie potrzebne. Ktoś chyba zostawił podczas pisania.

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

10 (edytowany przez marcin19883 2019-12-30 17:43:54)

Odp: Skrypt w /etc/uci-defaults nie działa

A mam zostawić EOT, czy zmienić na EOF?

11

Odp: Skrypt w /etc/uci-defaults nie działa

Wystarczy EOF

Tu masz trochę wyjaśnień: https://stackoverflow.com/questions/250 … rk-in-bash

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

12 (edytowany przez marcin19883 2019-12-30 22:40:11)

Odp: Skrypt w /etc/uci-defaults nie działa

Czyli tak?


#!/bin/sh

uci -q batch << EOF

set system.@system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3'
set system.@system[0].zonename='Europe/Warsaw'
set system.ntp=timeserver
set system.ntp.enabled='1'

commit system

EOF

exit 0

13

Odp: Skrypt w /etc/uci-defaults nie działa

Może być.

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