Zgodnie z obietnicą złożoną w wątku "Tablica ogłoszeń v2", podaję opis, jak można sobie poradzić z odzyskaniem i ponownym ustawieniem po reboocie, indywidualnych liczników transferu opisanych w tamtym wątku oraz bardziej szczegółowo tutaj: http://openlinksys.info/readarticle.p...icle_id=75
I Zapisywanie stanu indywidualnych statystyk do pliku
Aby umożliwić zapisywanie do pliku indywidualnych statystyk wyświetlanych m.in. przez Tablicę Ogłoszeń, należy wykonać następujące czynności:
1. Konfigurujemy CIFS Client
a) Na swoim komputerze udostepniamy jakis katalog, lub wybieramy jakis katalog już udostepniony (u mnie np. jest to katalog 'Common').
b) W Tomato, w zakładce 'Administration->CIFS Client':
- wpisujemy ścieżke do tego udzialu (u mnie to jest: \\192.168.2.8\Common),
- wpisujemy username oraz password dla tego udziału,
- zaznaczamy 'Enable'
- klikamy 'Save'.
2. Konfigurujemy ścieżkę do zapisu statystyk:
a) Na swoim komputerze, w udostępnionym katalogu ('Common') zakładamy podkatalog (np. 'WRT54g') do którego będą zapisywane statystyki routera.
b) W Tomato otwieramy zakładkę 'Administration->Bandwith Monitoring' i tam:
- zaznaczany 'Enable',
- w polu 'Save History Location' wybieramy 'Custom Path' i w odpowiadającej rubryce wpisujemy odpowiednią ścieżkę (u mnie jest to '/cifs1/WRT54g/' - nie zapomnieć o slashu na końcu!),
- 'Save frequency' chyba warto zmniejszyć (ja dałem 1 h),
- zaznaczyć 'Save On Shutdown'
- zaznaczyć 'Create New File',
- kliknąć 'Save'.
Dzięki tym operacjom, przy reboocie lub wyłączeniu routera nie będą nam sie zerowały statystyki routera widoczne na stronach 'Bandwith' Tomato.
Dodane [5.5.2008]: Uwaga:
W związku z tym, że kolega 'jordan_jrd' opracował w pełni automatyczną metodę generowania oraz odzyskiwania statystyk po resecie/reboocie, można czytanie reszty mojego postu sobie darować i od razu przejść do postu 'jordana_jrd' z dn. 3.04.2008.
----------------------------------------------------------------------------------
3. Łączymy się z routerem w trybie terminalowym (np. przy pomocy putty) i tam:
zapisujemy do pliku 'transfers' na lokalnym komputerze, aktualny stan indywidualnych statystyk wyświetlanych przez Tablicę Ogłoszeń.
Ponowne wykonanie skryptu nie powoduje nadpisania poprzedniego pliku, lecz dopisanie do niego nowych danych.
4. W Tomato, na stronie 'Administration->Scripts->Shutdown' wpisujemy:
To polecenie spowoduje automatyczne zapisanie statystyk przy wyłączaniu lub reboocie routera.
Niestety, skrypt nie uruchamia się samoczynnie przy zapisywaniu ustawień Tomato i na niektórych stronach przed kliknięciem 'Save' trzeba go odpalić ręcznie by nie utracić indywidualnych statystyk transferów.
II Przywracanie indywidualnych statystyk wyzerowanych przy reboocie
O ile zapisanie indywidualnych statystyk do pliku sprowadza sie do wykonania tylko jednego polecenia, to niestety ich przywrócenie wymaga żmudnego, wielokrotnego wykonywania sekwencji [Ctrl]+[C], [Ctrl]+[V] :)
1. Przy pomocy edytora obsługującego unixowy format plików (np. metapad), na swoim komputerze tworzymy i zapisujemy plik (nazwijmy go 'counters') w tym właśnie formacie, o przykładowej zawartości:
Powyższy przykładowy plik odpowiada statystykom dla 8 komputerów o adresach IP jak wyżej i jego zawartość należy dostosować odpowiednio do swojej sieci.
Jeśli ktoś ma tablice nazwane inaczej niż 'download' i 'upload', to też powinien to zmienić.
Pamiętamy, by zachować unixowy format zapisu pliku!
2. Teraz w miejsce zer na końcach każdej linii wklejamy stany liczników pakietów oraz bajtów, skopiowane z dwóch pierwszych kolumn odpowiedniej części pliku 'transfers', zapisanego na naszym komputerze.
3. Kopiujemy [Ctrl]+[C] całą zawartość zmodyfikowanego pliku 'counters'.
4. Łączymy się z routerem w trybie terminalowym i tam:
a) wpisujemy:
Po wykonaniu tego polecenia indywidualne statystyki przyjmują wprowadzone przez nas wartości.
Sądzę, że czynności związane z ustawianiem stanu liczników też można całkowicie zautomatyzować, ale niestety to już przekracza moje umiejętności. Liczę na to, że może ktoś inny ten problem rozpracuje :)
Edytowany przez Dziadek dnia 05-05-2008 23:22
Dorobilem kilka rzeczy dla statystyk o ktorych mowa.
- Automatyczne kolekcjonowanie statystyk dla uzytkownikow wpisanych w TOMATO w static dhcp.
- Automatyczne odtwarzanie wczesniej zapisanych statystyk poprzez wywolanie skryptu
skrypt odpowiedzialny za te operacje umieszczam tutaj:
http://jordan.szwejda.com/tomato/statperuser.zip
Wywolania skryptu sa nastepujace:
1) statperuser.sh -init #inicjuje statystyki dla wszystkich userow wpisanych w static dhcp w tomato
2) statperuser.sh -backup sciezka_do_pliku_z_backupem # robi backup statystyk do pliku zachowujac wczesniejsze informacje o statystykach
3) statperuser.sh -newbackup sciezka_do_pliku_z_backupem # robi backup statystyk do pliku kasujac wczesniejsze informacje o statystykach
4) statperuser.sh -zero #zeruje statystyki
5) statperuser.sh -load sciezka_do_pliku_z_backupem #odtwarza wczesniej zapisane statystyki (uwaga tablice chain musza byc spojne z informacjami zapisanymi w statystykach, inaczej bedzie amba)
Sugeruje umiescic wspomniany skrypt np w /jffs/statistics/.
W skrypcie dla firewalla mozna wtedy dopisac:
/jffs/statistics/statperuser.sh -init
(wowczas bedziemy mieli automatyczna inicjacje po restarcie rutera)
do crona mozna dodac zapisywanie statystyk co godzine np tak:
cru a statsjob "1 * * * * /jffs/statistics/statperuser.sh -backup /cifs1/WRT54/statsperuser.txt"
wtedy bedziemy mieli zapisywanie do uprzednio zamapowanego filesystemu /cifs1/
Planuje w przyszlosci napisac rowniez aplikacje, ktora graficznie w funkcji czasu bedzie prezentowac wykres statystyk dla kazdego usera na podstawie pliku txt ze statystykami (pod winde w C++ albo C#).
Bede wdzieczny za wszystkie uwagi, poprawki, wskazowki odnosnie dzialania skryptu ktorego zamieszczam.
Skrypt byl testowany na moim WRT54GL z systemem Tomato.
Pozdrowienia,
Jordan Szwejda
Edytowany przez jordan_jrd dnia 29-09-2009 22:58
tomix napisał/a:
Witam
Po wywołaniu skryptu statperuser.sh -init tworzą sie wpisy ale żadne dane nie są zapisywane, adresy IP poniżej nie wyświetlają sie poprawnie
Podejrzewam, ze masz niespojnosci listy adresow IP zarejestrowanych w statystykach z lista IP odtwarzanych statystyk z pliku.
Sugeruje:
a) skasowac wszystkie pliki ze backupami informacji o statystykach, ktore dotychczasowo miales
b) zrestartowac ruter albo QoS-a (service qos restart)
c) zainicjowac statystyki przy uzyciu metody ktora podalem
d) zbackupowac swoje statystyki (pozniej mozesz tutaj za pierwszym razem przepisac recznie stare wartosci licznikow - ale nie wolno ci zmieniac formatowania i istotnych danych odnosnie IP)
e) odtworzyc statystyki i sprawdzic czy bedzie git
Jesli bedzie git, od tego momentu powinienes moc korzystac ze statystyk poprawnie.
Dodaj odpowiednie wpisy do skryptow firewall-a, zainicjuj sobie cron-a (ja mam wpis w skrypcie firewalla), zrestartuj ruter i powinno to dzialac poprawnie na najnowszej wersji Tomato.
Witam, korzystam z tej metody wyswietlania statystyk http://openlinksys.info/readarticle.php?article_id=75
odpowiednie wpisy mam zapisane w skrypcie firewalla, jednak o ile rozumiem ze te statystyki kasuja sie podczas restartu routera tak nie wiem dlaczego kasuja sie rowniez podczas gdy ip na WANie jest zmieniane
czy jest na to sposob ? czy tylko powyzsza metoda z zapisywaniem statystyk i ich odtwarzaniem moze temu zapobiec ?
a) Na swoim komputerze udostepniamy jakis katalog, lub wybieramy jakis katalog już udostepniony (u mnie np. jest to katalog 'Common'.
b) W Tomato, w zakładce 'Administration->CIFS Client':
- wpisujemy ścieżke do tego udzialu (u mnie to jest: \\192.168.2.8\Common),
rozumiem ze trzeba podac sciezke do jakiegos udostepnionego katalogu na dysku, ale tomato bedzie mialo do niego dostep jak zostanie rozpoznane jako uzytkownik/gosc ? jak to zrobic ?
no i sciezka \\192.168.2.8\Common) nie okresla litery dysku
a) Na swoim komputerze udostepniamy jakis katalog, lub wybieramy jakis katalog już udostepniony (u mnie np. jest to katalog 'Common').
b) W Tomato, w zakładce 'Administration->CIFS Client':
- wpisujemy ścieżke do tego udzialu (u mnie to jest: \\192.168.2.8\Common),
rozumiem ze trzeba podac sciezke do jakiegos udostepnionego katalogu na dysku, ale tomato bedzie mialo do niego dostep jak zostanie rozpoznane jako uzytkownik/gosc ? jak to zrobic ?
Przecież już w następnej linijce pisze:
"- wpisujemy username oraz password dla tego udziału",
czyli wpisujesz nazwę uprawnionego użytkownika i jego hasło.
Profesjonalne rozwiązanie, to będzie stworzenie osobnego użytkownika do tego celu, a metodą chałupniczą możesz wpisać tam swoje dane.
Cytat
no i sciezka \\192.168.2.8\Common) nie okresla litery dysku :o
Nazwa "Common" jest tzw. "udostępnionym udziałem", który domyślnie pokrywa sie z nazwą katalogu, ale wcale tak być nie musi - jeśli chcesz, to możesz nadać mu całkiem inną nazwę.
A ponieważ na danym komputerze może istnieć tylko jeden udział o danej nazwie, to nic więcej nie trzeba podawać oprócz tej nazwy.
Edytowany przez Dziadek dnia 20-04-2008 10:09
sprawdzalem czy katalogi sa dostepne, i sa, z polecenia cd moge do nich wejsc przez telnet
co zle zrobilem , no i jak pozniej wywolac staty skoro polecenie
jakos nie chce dzialać, no chyba ze moj blad jest na poczatku bo ja wykonuje wszystko co jest w poscie autora jordan_jrd, a nic z postu Dziadka
Edytowany przez krzynek1 dnia 20-04-2008 17:35
Niestety, przy próbie rozzipowania Busybox wyrzuca komunikat o błędzie "Invalid zip magic". Te błąd jest chyba charakterystyczny dla Busybox, bo google wskazuje liczne zapytania o ten błąd i są one związane właśnie z BusyBox.
Proponuje więc inne rozwiązanie:
1. Ściągnąć spakowany skrypt na swój komputer i tam go rozpakować
2. W Total Commandrze wyświetlić jego zawartość i skopiować do schowka
3. Połączyć sie z WRT przy pomocy putty lub telnetu
4. Przejść do katalogu /jffs/statistics/
5. Stworzyć plik statperuser.sh przez polecenie
Najpierw próbuj, czy te polecenia działają wywołane z okna terminala!
Jak już wszystkie będą działać poprawnie, to dopiero wtedy je wpisuj do crona lub skryptów firewalla!
Cytat
zapisalem i dalem reboot routera, nastepnie przez telnet ( nie wiem czy to wlasciwa metoda, moze tez nalezy przez wpis firewalla ?) wpisalem komende
stworzylem plik statperuser.sh w katalogu /jffs/statistics/
total cmd nie potrafi otworzyc tego pliku, dlatego otworzylem go wordpadem i skopiowalem zawartosc, ale nie wiem jak mam wkleic ja bo putty nie zna polecenia ctrl D
i fakt, z terminala uruchomienie skryptu bedacego w cifs1 powiodlo sie, ale nie dziala jego inicjowanie ze skryptu fw, dziwne
tak zainicjowany skrypt tworzy plik txt we wskazanym miejscu, jednak jego zawartosc nie jest taka jak powinna
polecenie ctrl+d nie dziala, po wklejeniu zawartosci skryptu wciskam jednoczesnie ctr D i nic sie nie zmienia, jakbym nic nie wcisnal, nastepnie daje chmod +x statperuser.sh i nic, powinna pojawic sie nowa linijka ze znakiem zachety ale nie ma tego
wiec zamykam putty, odpalam raz jeszcze
inicjuje skrypt i dostaje permission denied
no to sformatowale, od nowa jffs, powtorzylem procedure i dalej to samo
rece opadaja, czy nie da sie tego jakos zrobic przy pomocy cifs1 ?
Edytowany przez krzynek1 dnia 20-04-2008 18:51
lecz zostawiłem swoje własne definicje tablic , które już wcześniej miałem wpisane do skryptów firewalla.
2. W katalogu /jffs/ stworzyłem sobie 2 polecenia:
- savestat - o tresci
Pierwsze z nich powoduje zapisanie statystyk, drugie - ich wczytanie (przywrócenie). Dzięki temu zamiast wklepywać długie łańcuchy poleceń wpisuje tylko jeden wyraz.
3. W Tomato w Administration-> Scripts-> Shutdown wpisałem polecenie
które automatycznie robi backup statystyk przy wyłączaniu lub reboocie routera.
Nie ustawiałem automatycznego przywracania statystyk, zakładam, że w razie potrzeby zrobię to ręcznie.
4. Wpisałem następujące polecenia dla crona;
krzynek1 napisał/a:
polecenie ctrl+d nie dziala, po wklejeniu zawartosci skryptu wciskam jednoczesnie ctr D i nic sie nie zmienia, jakbym nic nie wcisnal
Po wklejeniu skryptu naciśnij jeden raz klawisz Enter i wtedy daj Ctrl+D.
wiec pewnie dlatego nie zlicza danych, tylko jak to zmienic ? w static dhcp mam 4 wpisy, sadze mozna na sztywno w statperuser.sh okreslic dla jakich ip ma zliczac
załatwia tylko robienie backupu statystyk co godzinę, nic więcej.
Natomiast aby plik txt sam tworzył sie przy reboocie, musisz dać polecenie zapisu w zakładce 'Shutdown'.
Edytowany przez Dziadek dnia 11-05-2008 00:11
· Łącznie użytkowników: 24,115 · Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.
Maniek91PL
06-11-2024 22:37
dzięki !
maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia
Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa
overflow2
04-10-2024 17:34
Kupowałem Asusy n10u albo n12d1 ale nie widzę ich, chyba już nie produkują, Chodzi o coś nowego i taniego. Transfery niewielkie.
maxikaaz
04-10-2024 09:38
@overflow2 patrząc po dostępności funkcji w nowych kompilacjach, to chyba nawet WRT54G/GL jeszcze ma OpenVPN, albo jakiś odpowiednik... zależy, na jakie transfery liczysz.
overflow2
30-09-2024 20:53
Jaki aktualnie najtańszy router do tomato do openvpn?
maxikaaz
27-07-2024 15:07
@servee - na początek router do rozebrania i obejrzenia, ciężko wróżyć tak tylko po objawach
maxikaaz
27-07-2024 14:55
@servee - cały kontroler nie pada tak sobie z powodu "zbiegu okoliczności", więc prawdopodobnie gdzieś przepięcie.
servee
25-07-2024 13:33
@maxikaaz: działało, aż pewnego pięknego dnia przestało działać. W tym dniu była też burza, ale to raczej zbieg okoliczności.
maxikaaz
25-07-2024 11:38
@servee - o ile problem jest w obrębie samych wyjść (dławiki, warystory), to naprawialne, ale jeśli w samym SoC - to nienaprawialne ze względu na koszta. A co było przyczyną?