26

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Rozumiem.

Chyba znalazłam wyjście. Do tej pory do sprawdzenia ppp używałem saamo route. dlatego czasami go zacinało (chwilę schodziło) bo odczytywał sobie nazwę hosta tepsy. Ale spokojnie mogę sprawdzać przez route -n i wtegy odbywa się to błyskawicznie,

27

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Przecież pisałem Ci to samo...

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

28

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Przeczytać to jedno......., zrozumieć to całkiem co innego! smile

Wielkie dzięki. Jarek

29

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Pokazała się nowa wersja X-Wrt. Właśnie przyglądam się zmianom i zastanawiam, czy można bezpiecznie zaktualizować. Na razie nie widzę nic, co mogło by nadpisać wprowadzone przezemnie zmiany.

Tak wogóle myślę nad zrobieniem machanizmu backup dla całego systemu i wybranych elementów (np. tam gdzie wykonuję zmiany). Może jest coś takiego?

30

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Tak z ciekawości: a coś Ci działa źle w bieżącej wersji że chcesz upgrade robić? Zawsze mozesz przecież skompilować sobie bieżące wersje z svn i instalować. A upgrade webif^2 możesz normalnie robić instalując pakiet.

System plików masz na squashfs (tylko do odczytu) a wszystkie zmiany są na jffs. Więc w teorii wystarczy backup /jffs wraz z nvram:

mount -o remount,ro /dev/mtdblock/4 /jffs
dd if=/dev/mtdblock/1 > /tmp/wrt-linux.trx
mount -o remount,rw /dev/mtdblock/4 /jffs
dd if=/dev/mtdblock/3 > /tmp/wrt-nvram.bin

Ale nie testowałem tego. Ja po prostu wolę jak już założyć całość od początku i konfigurować ponownie, robiąc sobie backup tylko /etc + listę zainstalowanych pakietów.

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

31

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Z racji, że nie wszystko jeszcze kumam często używam webif. Jest tam kilka opcji, które działają do bani. Jeśli jest możliwość aktualizacji, to czemu nie spróbować..... smile


Dlaczego robisz takie montowanie? Co to daje?

mount -o remount,ro /dev/mtdblock/4 /jffs

i dlaczego kopiujesz z /dev/mtdblock/1? Myślałem kopiować prosto z /jffs. Pewnie jest coś, czego niewiem. Prawda?

32

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

To zrób normalną instalację pakietu (nawet przez www Ci to webif proponuje) zamiast flashować cały router. Szkoda  tego co już ustawiłeś smile

Możesz prosto kopiowac z /jffs, ale będziesz kopiował pliki. A tu kopiujesz cały obraz/obszar/blok bajtów bez wnikania w to co tam jest. Remount na ro jest po to, żeby na czas backupu partycja była tylko do odczytu żeby coś coś przypadkiem nie dokonało zapisu w momencie jak robisz backup. Bo byłby do bani.

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

33

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Aktualizację webif zrobię przez www.

Teraz rozumiem po co te wszystkie zabiegi z remount smile To jest super! smile

I z innej beczki. Wiem, że czepiłem się Ciebie jak rzep psiego ogona...... smile Ale bardzo mi pomogłeś i dużo się nauczyłem, za co dziękuję.
Kiedyś pisałem że mam jeszcze trochę pomysłów na WL500gP. Dlatego chciałem zapytać, czy nie za bardzo Cię męczę i czy nie będzie namolne jeśli rozpocznę tu na forum inne tematy? smile

Widzę że jesteś wielkim pasjonatem WL500gP. Mnie też bardzo przypadł do gustu. W związku z tym pytanie: Lubisz bardziej tematy softwarowe czy hardwarowe (no bez softu się oczywiście nie obejdzie)?

34

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Chciałbym wrócić jeszcze do tematu backupu.

Próba wprowadzenia jffs w ro powoduje zgłoszenie:

mount: Mounting /dev/mtdblock/4 on /jffs failed: Device or resource busy

Wygląda na to, że coś cały czas jest "podpięte" do jffs. Czy cron może mieć coś z tym wspólnego? Wydaje mi się że nie, ale.... Być może modem_run albo pppoa3 są tego powodem. Czy da sie to jakoś sprawdzić?

35

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Generalnie sa polecenia do tego (lsof); openwrt jest na to zaubogie i nie ma tego w standardzie.

Oczywiscie ze modem_run siedzi w jffs, przeciez sam tam to załadowałeś. Musiałbys zatrzymać większość procesów, żeby dało się to zrobić.

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

36

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Czy w takim razie, zrobienie kopii obrazu jffs bez blokowania ro wprowadza duże ryzyko wystąpienia błędu w backup, uniemożliwiającego jego późniejsze odtworzenie?

37

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Jezeli nic sie nie zapisuje w tym czasie - nie. Inaczej możesz miec problemy ze spójnością systemu plików lub zawartością samych plików.

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

38

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

W takim razie, w czasie gdy system ma odpalonych trochę procesów, chyba lepiej kopiować plik po pliku?

39

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Tak. Tylko po co smile. Zrób kopię tylko ustawień, inne pliki masz w paczkach. ew Twój stuff związany z neo.

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

40

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Witaj Cezary.

W miarę wolnego czasu poprawiam skrypt do neo. I natknąłem się na pewien problem. Otóż aby po utracie ppp0 na nowo je podnieść, chciałem zastosować do tego automatyczne odpalanie skryptu /etc/ppp/ip-down.d/moj_skrypt przez ppp0. Moj_skrypt ma za zadanie ustawienie crona, żeby podnosił ppp0. I tu problem....

Wpisanie wartości do crontabs i restart crona powoduje, że proces crond się NIE odpala (brak go w liście procesów). Najprawdopodobniej zakończenie pppd i /etc/ppp/ip-down.d/moj_skrypt (który jest własnością pppd) powoduje zakończenie procesów odpalonych z /etc/ppp/ip-down.d/moj_skrypt (a crond jest właśnie z niego odpalany).

Doczytałem, że crond (kiedy jest uruchomiony) co 1 min sprawdza zawatość crontabs (załadowane do pamięci) i jeśli jakiś wpis odpowiada aktualnemu czasowi to go uruchamia. Pisze również, że crond przed sprawdzeniem wpisów sprawdza datę pliku crontabs i w przypadku gdy jego data się zmieniła automatycznie aktualizuje sobie wpisy w pamięci.

Zastosowanie tego mechanizmu (autoaktualizacji crontabs) było by rozwiązaniem mojego problemu. Nie musiał bym restartowć crona (czyli odpalać od nowa jego procesu z /etc/ppp/ip-down.d/moj_skrypt), tylko zmieniał bym wpis w crontabs i wszystko by działało.

Niestety wszystkie próby autoaktualizacji crontabs przez crona (które przeprowadziłem) nie dają spodziewanego rezultatu. Może ta wersja crond nie ma autoaktualizacji crontabs?
Modyfikowałem /etc/crontabs/root ale to nic nie daje. Może on sprawdza jakiś inny plik? Tylko jaki?

Jesteś w stanie mi pomóc?

Pozdrawiam Jarek

41

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Wywołanie crona musi byc jako crond -c /etc/crontabs, zakładam że tak zrobiłeś.

Logicznie jest dobrze. Wpis echo "*/1 * * * * /bin/date > /tmp/test.txt" >> /etc/crontabs/root powinien Ci co minutę robić wpis. Ale... tak się nie robi jak napisałeś. Nie odpala się procesu crona ze skryptu obcego, nie modyfikuje się crontaba (IMO).

Ładniej i skuteczniej bedzie jak zrobisz na stałe wpis z crontabie z wywołaniem jakiegoś skryptu co jakiś czas. A już niech ten skrypt sprawdza czy np. istnieje plik /tmp/pppdead i jak jak to niech go usunie i postawi ppp od nowa. A plik oczywiście robisz w /etc/ppp/ip-down.d/moj_skrypt.

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

42

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Faktycznie modyfikacja crontab  z palca nie działa, wymagany jest restart crond. Ciekawe czy to związane jest z jffs (jak niemozliwość zamontowania nfs z jffs) czy to bagol w openwrt...

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

43

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Tak miełem zrobione dotychczas.

Cron był odpalony na stałe z testem stanu ppp0 co 1 min. Chciałem z tego "uciec", bo odpalanie sktyptu testowego co 1 min powoduje straszne nakręcanie licznika procesów PID. Po trzech dniach PID jedzie od początku. Nie wiem czy z tego powodu, ale po kilku dniach prawidłowej pracy (PID obrócił 2 razy) skrypt nie podnosi ppp0. Dlatego chciałem uruchomić crona (z testem co 1 min) tylko w momencie utraty ppp0 i po podniesieniu usunąć odpalanie testu. Super mi to pasuje zrobić przez /etc/ppp/ip-down.d/moj_skrypt. Chciałem z /etc/ppp/ip-down.d/moj_skrypt modyfikować plik crontabs, a cron sam aktualizował by swoje zadania bez potrzeby jego restaru (restart = kill cron + start cron).

A jak wygląda sprawa z autoaktualizacją wpisów przez crona? To działa?

44

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Nie u mnie smile

Co minutę to za często. Ew. możesz zrobić skrypt typu

#!/bin/sh
while :
do
 sleep 60
 # coś do zrobienia tutaj
done

i go odpalić z & na końcu i niech biega i się usypia. PIDy nie będą Ci rosnąć smile

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

45

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Ooooooo....... to coś nowego w mojej edukacji z linuxem! smile

Jęsli nazwe ten skrypt moj_skrypt i odpalę go w następujący sposób z /etc/init.d/S51neostrada to będzie dobrze?

#start - S51neostrada
.
.
moj_skrypt &
.
.
#end

rozumiem że będzie wykonywał się cały czas w tle i nie będzie wstrzymywał całego systemu?

46

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Tak jest. Będzie siedział w tle i grzecznie sie wykonywał.

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

47

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

To jeszcze jedno pytanie.

Czy proces nadrzędny (w tym przypadku /etc/init.d/S51neostrada - bo on go wywołuje) będzie cały czas aktywny, czy zostanie zakończony?

48

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Zakończony - po to masz & na końcu, żeby proces odesłać w tło i robić swoje dalej.

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

49

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

To chyba jestem w doumu smile Czyli mam własnego, prostego crona....

Tak przy okazji......
Jest jakiś mechanizm w linuxie (OpenWRT), który pozostawi PID w /var/run (niektóre programy właśnie tam je składują), a po zakończeniu tego procesu usuną wpis w tego katalogu?

50

Odp: Różne pytania (WL500gP + OpenWRT i Linux)

Nie. O ile sam proces nie obsługuje tworzenia pidów to nie. Oczywiście idzie to obejść, robiąc skrypt start/stop, a w nim odpowiednie touch .pid i rm .pid.

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