Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest poniedziałek, 23 czerwca 2025, 10:52

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 29 ]  Przejdź na stronę 1, 2  Następna

PRZYDATNOŚĆ I POTRZEBA ROZWIJANIA SKRYPTU
Jest potrzebny i należało by go dalej rozwijać 76%  76%  [ 25 ]
Jast potrzebny ale wystarcza to co w nim jest 9%  9%  [ 3 ]
Nie używam go 6%  6%  [ 2 ]
Jest zbędny 9%  9%  [ 3 ]
Liczba głosów : 33
Autor Wiadomość
Post: czwartek, 9 lutego 2006, 16:00 
Offline
Użytkownik

Rejestracja: sobota, 27 marca 2004, 05:21
Posty: 284
Lokalizacja: Dublin
Poniżej wstawiłem kod skryptu obsługi liczników account.
UWAGA jest to wersja testowa
kernel musi być z zaimplementowaną obsługą liczników account

: [/] [] ()
#! /bin/sh
# ---------------------------------------------------------------------------
#
#                       Skrypt obsługi liczników account
#            rcaccount Piotr "JamP" Jamrozik <jamp(at)jamp.int.pl>
#
# !!! UWAGA !!!
# wersja testowa 001
# ---------------------------------------------------------------------------
#
# Skrypt należy umie&para;cić w katalogu /etc/rc.d/ i dopisać w sekcji DAEMONS
# w pliku /etc/rc.conf bezpo&para;rednio po iptables
#
# W trakcie startu systemu odbudowywany stan istniej&plusmn;cych w kopii liczników
# Podczas zatrzymywania systemu wykonywane jest zapisanie obecnego stanu
# liczników do kopii ( st&plusmn;d niestandardowe użycie opcji stop - nie zatrzymuje
# liczenia tylko zapisuje liczniki )
#
# Dostępne opcje:
#
# start - uruchomienie liczników i rozpoczęcie zliczania
# stop  - zapisanie kopii liczników do pliku
# reset - kasowanie liczników i rozpoczęcie zliczania od zera
# stat  - proste statystyki
#
# ---------------------------------------------------------------------------
#
# Użyte zmienne konfiguracyjne:
#
# SIECLAN
# -------
# Do zmiennej SIECLAN wpisz swoj&plusmn; sieć lokaln&plusmn; w formacie: "192.168.1.0/24"
#                              !!! UWAGA !!!
#        maska może mieć mieć tylko jedn&plusmn; z 3 warto&para;ci: 8, 16, 24 lub
# można j&plusmn; pomin&plusmn;ć zliczaj&plusmn;c tylko 1 użytkownika wtedy podajemy "192.168.1.2"
# ---------------------------------------------------------------------------
#
# PELNE
# -----
# Zmienna PELNE=1 - pełne / PELNE=0 - skrócone (bez rozbicia na na usługi)
#
# ---------------------------------------------------------------------------
#
# GDZIE
# -----
# Zmienna GDZIE zawiera &para;cieżkę do zapisywania kopii liczników
#
# ---------------------------------------------------------------------------
#
# W tej chwili skrypt obsługuje tylko 1 plik liczników
# W budowie obsługa limitowania niceshapera na podstawie liczników account
#
# ---------------------------------------------------------------------------
#
# Kopię liczników co 1 minutę można uzyskać przez dopisanie w cronie poleceniem
# crontab -e
# 0-59/1 * * * * /etc/rc.d/rcaccount stop
#
# ---------------------------------------------------------------------------
#
# Narazie skrypt nie jest optymalny ani piękny ale chyba działa bez problemów:)
# Napisałem go dzi&para; w nocy więc mog&plusmn; wyst&plusmn;pić jakie&para; nieprzewidziane trudno&para;ci
#
# Proszę o zgłaszanie uwag i potrzeb co do dalszego sposobu rozwijania skryptu:)
#
# Miłej zabawy z licznikami account :)
#
# ---------------------------------------------------------------------------

. /etc/rc.conf
. /etc/rc.d/functions

# ---------------------------------------------------------------------------
# Te 3 parametry ustaw sam :)
# ---------------------------------------------------------------------------
SIECLAN="192.168.1.0/24"
PELNE=1
GDZIE="/etc/iptables/account"
# ---------------------------------------------------------------------------
# Poniżej nie musisz nic zmieniać
# ---------------------------------------------------------------------------
case "$1" in
start)
   stat_busy "Uruchamianie liczników account"
   if [ ! -d $GDZIE ]; then
      mkdir -p $GDZIE;
   fi
   if [ ! -e /proc/net/ipt_account/mynetwork ]; then
      iptables -N statistics
         if [ "$PELNE" = "1" ]; then
            iptables -A statistics -m account --aaddr $SIECLAN --aname  mynetwork
       LINIAZERO="bytes_src = 0 0 0 0 0 packets_src = 0 0 0 0 0 bytes_dest = 0 0 0 0 0 packets_dest = 0 0 0 0 0 time = 0"
    else
       iptables -A statistics -m account --aaddr $SIECLAN --aname  mynetwork --ashort
       LINIAZERO="bytes_src = 0 packets_src = 0 bytes_dest = 0 packets_dest = 0 time = 0"
    fi
      iptables -I FORWARD -j statistics
         if [ ! -e $GDZIE/.mynetwork.zero ]; then
       stat_busy "Budowa pliku zerowania accounta"
            sleep 5
            while read line; do
               echo $line | echo "ip = `cut -f 3 -d ' '` $LINIAZERO" >> $GDZIE/.mynetwork.zero
               done < /proc/net/ipt_account/mynetwork
       stat_done
         fi
   fi
   stat_done
   stat_busy "Zapis ostatnich warto&para;ci do liczników account"
   if [ -f $GDZIE/.mynetwork.save ]; then
      while read line; do echo $line > /proc/net/ipt_account/mynetwork; done < $GDZIE/.mynetwork.save
   fi
   stat_done
   wynik
   ;;
stop)
   stat_busy "Zapis liczników account"
   if [ -f /proc/net/ipt_account/mynetwork ]; then
      cat /proc/net/ipt_account/mynetwork > $GDZIE/.mynetwork.save
   fi
   stat_done
   wynik
   ;;
reset)
   $0 stop
   stat_busy "Zerowanie licznikópw account"
   if [ -f $GDZIE/.mynetwork.zero ]; then
      while read line; do echo $line > /proc/net/ipt_account/mynetwork; done < $GDZIE/.mynetwork.zero
   fi
   stat_done
   stat_busy "Kopia liczników account"
   if [ ! -f $GDZIE/.mynetwork.kopia ]; then
      cat $GDZIE/.mynetwork.save > $GDZIE/.mynetwork.kopia
   else
      cat $GDZIE/.mynetwork.kopia > $GDZIE/.mynetwork.kopia1
      cat $GDZIE/.mynetwork.save > $GDZIE/.mynetwork.kopia
   fi
   cat $GDZIE/.mynetwork.zero > $GDZIE/.mynetwork.save
   stat_done
   wynik
   ;;
stat)
   stat_busy "Proste statystki liczników account"
echo "+-----------------+------------+------------+------------+--------------+"
echo "|    Użytkownik   |   razem    |  odebrał   |   wysłał   | nieatywny od |"
echo "+-----------------+------------+------------+------------+--------------+"
 if [ "$PELNE" = "1" ]; then
awk 'BEGIN {aaa=0}{bbb="B"}{bbb1="B"}{bbb2="B"}{ccc=$6+$20}
  {ddd=$6}{eee=$20}{zm=0}{roz="B"}{fff=$33}
     function jednostka(zm){{if(zm < 1024 ) {roz="B"}}
        {if((zm > 1024  )&&(zm < 1024^2)) {{zm/=1024}  {roz="KB"}}}
        {if((zm > 1024^2)&&(zm < 1024^3)) {{zm/=1024^2}{roz="MB"}}}
        {if(zm > 1024^3) {{zm/=1024^3} {roz="GB"}}}
        {ccc=zm}{bbb=roz}}
   {if(ccc > 0) {
   {jednostka(ccc)}{op1=ccc}{w1=bbb}
   {jednostka(ddd)}{op2=ccc}{w2=bbb}
   {jednostka(eee)}{op3=ccc}{w3=bbb}
   {cz=$34 " sek"}
   {if($34 > 31536000 ) {cz="ponad roku"}}
   {printf"| %-15s | %7.2f %-2s | %7.2f %-2s | %7.2f %-2s | %12s |\n",$3,op1,w1,op2,w2,op3,w3,cz}
   {zm=0}{roz="B"}
   }}' /proc/net/ipt_account/mynetwork
 else
awk 'BEGIN {aaa=0}{bbb="B"}{bbb1="B"}{bbb2="B"}{ccc=$6+$12}
  {ddd=$6}{eee=$12}{zm=0}{roz="B"}{fff=$33}
     function jednostka(zm){{if(zm < 1024 ) {roz="B"}}
        {if((zm > 1024  )&&(zm < 1024^2)) {{zm/=1024}  {roz="KB"}}}
        {if((zm > 1024^2)&&(zm < 1024^3)) {{zm/=1024^2}{roz="MB"}}}
        {if(zm > 1024^3) {{zm/=1024^3} {roz="GB"}}}
        {ccc=zm}{bbb=roz}}
   {if(ccc > 0) {
   {jednostka(ccc)}{op1=ccc}{w1=bbb}
   {jednostka(ddd)}{op2=ccc}{w2=bbb}
   {jednostka(eee)}{op3=ccc}{w3=bbb}
   {cz=$18 " sek"}
   {if($18 > 31536000 ) {cz="ponad roku"}}
   {printf"| %-15s | %7.2f %-2s | %7.2f %-2s | %7.2f %-2s | %12s |\n",$3,op1,w1,op2,w2,op3,w3,cz}
   {zm=0}{roz="B"}
   }}' /proc/net/ipt_account/mynetwork
 fi
 echo "+-----------------+------------+------------+------------+--------------+"
   stat_done
   wynik
   ;;
*)
echo "Użycie: rcaccount [ start | stop | reset | stat ]"
;;
esac
exit 0
Zapraszam do testów i proszę o zgłaszanie uwag :)

Dodane 10.02.2006r.
Trochę o skrypcie :)
Narazie nie zauważyłem usterek w działaniu skryptu :)

Powstał dlatego że:
- był dla mnie niezbędny :)
- obsługa account jest w kernelu (nowe wersje) i działa lepiej oraz szybciej niż inne sposoby liczenia ruchu w sieci oraz jest łatwa w zastosowaniach
- brak gotowych rozwiązań w NND na zapis, odczyt i kasowanie liczników oraz prostych statystyk

Bardzo proszę o opinię bo narazie niemam zielonego pojęcia czy jest jakiekolwiek zainteresowanie moim skryptem, a robienie czegoś czego nikt nie potrzebuje mija się z celem :)

_________________
jamp@99xBEZ_TEGO.pl
TL-ER6020,TL-SG3216,TL-SG3210,RT-N66U(AP),RT-N16(AP),TL-WDR4300(OpenWrt)
SYNOLOGY DS112+ 3TB, D525MW 4GB RAM 500GB - DEBIAN
E35M1-I 8GB RAM 500GB,2x4TB(raid1),2x3TB(raid1) - SLACKWARE
ix2-200 2x3TB(raid1),GoFlex Net 2x1TB - DEBIAN ARM,GoFlex Net 2x500GB


Ostatnio zmieniony środa, 8 marca 2006, 12:05 przez jamp, łącznie zmieniany 3 razy

Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 12 lutego 2006, 23:12 
Offline

Rejestracja: wtorek, 31 stycznia 2006, 12:29
Posty: 9
a po czym poznac ze kernel ma zaimplementowaną obsługą liczników account


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 13 lutego 2006, 00:35 
Offline
Użytkownik

Rejestracja: sobota, 27 marca 2004, 05:21
Posty: 284
Lokalizacja: Dublin
Liroy pisze:
a po czym poznac ze kernel ma zaimplementowaną obsługą liczników account
Odpal skrypt który zbudowałem z opcją start po wstępnym ustawieniu zmiennych, i zobacz czy w /proc/net/ipt_account/ jest plik mynetwork

_________________
jamp@99xBEZ_TEGO.pl
TL-ER6020,TL-SG3216,TL-SG3210,RT-N66U(AP),RT-N16(AP),TL-WDR4300(OpenWrt)
SYNOLOGY DS112+ 3TB, D525MW 4GB RAM 500GB - DEBIAN
E35M1-I 8GB RAM 500GB,2x4TB(raid1),2x3TB(raid1) - SLACKWARE
ix2-200 2x3TB(raid1),GoFlex Net 2x1TB - DEBIAN ARM,GoFlex Net 2x500GB


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 13 lutego 2006, 00:54 
Offline
Użytkownik

Rejestracja: sobota, 26 listopada 2005, 07:47
Posty: 864
sprawdź w pliku /boot/kconfig


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 10:47 
Offline

Rejestracja: wtorek, 31 stycznia 2006, 12:29
Posty: 9
jamp wogole wlaczyc nie moge

marask czego mam tam szukac


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 11:14 
Offline
Użytkownik

Rejestracja: sobota, 27 marca 2004, 05:21
Posty: 284
Lokalizacja: Dublin
Liroy pisze:
jamp wogole wlaczyc nie moge marask czego mam tam szukac
Czego włączyć nie możesz ?? napisz coś bliżej bo skrypt robi to co powinien :). Czy nadałeś prawa wykonalności poleceniem chmod +x skryptowi i czy masz w jajku obsługę account oraz czy ustawiłeś poprawnie parametry w skrypcie zgodne z twoją siecią lan.
Wyślij co wstawiłeś do zmiennych i jaki masz adres sieci.

_________________
jamp@99xBEZ_TEGO.pl
TL-ER6020,TL-SG3216,TL-SG3210,RT-N66U(AP),RT-N16(AP),TL-WDR4300(OpenWrt)
SYNOLOGY DS112+ 3TB, D525MW 4GB RAM 500GB - DEBIAN
E35M1-I 8GB RAM 500GB,2x4TB(raid1),2x3TB(raid1) - SLACKWARE
ix2-200 2x3TB(raid1),GoFlex Net 2x1TB - DEBIAN ARM,GoFlex Net 2x500GB


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 12:09 
Offline
Użytkownik

Rejestracja: sobota, 26 listopada 2005, 07:47
Posty: 864
jamp skąd masz kernel z obsługą ipaccount? jakiś link czy cuś ;]


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 12:16 
Offline
Użytkownik

Rejestracja: sobota, 27 marca 2004, 05:21
Posty: 284
Lokalizacja: Dublin
marask pisze:
jamp skąd masz kernel z obsługą ipaccount? jakiś link czy cuś ;]
W wersji 2.4.32-6nnd napewno jest. Chyba w ...-5nnd też, ale tego nie jestem pewien.

_________________
jamp@99xBEZ_TEGO.pl
TL-ER6020,TL-SG3216,TL-SG3210,RT-N66U(AP),RT-N16(AP),TL-WDR4300(OpenWrt)
SYNOLOGY DS112+ 3TB, D525MW 4GB RAM 500GB - DEBIAN
E35M1-I 8GB RAM 500GB,2x4TB(raid1),2x3TB(raid1) - SLACKWARE
ix2-200 2x3TB(raid1),GoFlex Net 2x1TB - DEBIAN ARM,GoFlex Net 2x500GB


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 12:23 
Offline
MODERATOR

Rejestracja: sobota, 30 lipca 2005, 14:08
Posty: 3984
Lokalizacja: Rzeszów
Jest w NND w kernelach wyzszych niz 2.4.31-1nnd.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 13:26 
Offline
Użytkownik

Rejestracja: sobota, 27 marca 2004, 05:21
Posty: 284
Lokalizacja: Dublin
Drobny błąd powoduje odwrotne wyświetlanie ściągania z wysyłaniem :oops:
Wystarczy zmienić z
# linia 148
{ddd=$6}{eee=$20}
na
{ddd=$20}{eee=$6}
oraz
# linia 165
{ddd=$6}{eee=$12}
na
{ddd=$12}{eee=$6}
lub wystarczy jeżeli komuś odpowiada kolejność zamienić miejcami wyświetlany nagłówek ( linia 144).

_________________
jamp@99xBEZ_TEGO.pl
TL-ER6020,TL-SG3216,TL-SG3210,RT-N66U(AP),RT-N16(AP),TL-WDR4300(OpenWrt)
SYNOLOGY DS112+ 3TB, D525MW 4GB RAM 500GB - DEBIAN
E35M1-I 8GB RAM 500GB,2x4TB(raid1),2x3TB(raid1) - SLACKWARE
ix2-200 2x3TB(raid1),GoFlex Net 2x1TB - DEBIAN ARM,GoFlex Net 2x500GB


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 17:44 
Offline
Użytkownik

Rejestracja: sobota, 26 listopada 2005, 07:47
Posty: 864
skąd masz kernel 2.4.32-6nnd ?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 18:05 
Offline
MODERATOR

Rejestracja: sobota, 30 lipca 2005, 14:08
Posty: 3984
Lokalizacja: Rzeszów
Z iso testowego.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 14 lutego 2006, 19:36 
Offline
Użytkownik

Rejestracja: sobota, 27 marca 2004, 05:21
Posty: 284
Lokalizacja: Dublin
tasiorek pisze:
Z iso testowego.
albo z CVSu

_________________
jamp@99xBEZ_TEGO.pl
TL-ER6020,TL-SG3216,TL-SG3210,RT-N66U(AP),RT-N16(AP),TL-WDR4300(OpenWrt)
SYNOLOGY DS112+ 3TB, D525MW 4GB RAM 500GB - DEBIAN
E35M1-I 8GB RAM 500GB,2x4TB(raid1),2x3TB(raid1) - SLACKWARE
ix2-200 2x3TB(raid1),GoFlex Net 2x1TB - DEBIAN ARM,GoFlex Net 2x500GB


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 15 lutego 2006, 19:53 
Offline

Rejestracja: wtorek, 31 stycznia 2006, 12:29
Posty: 9
no to kicha bo ja mam
Cytuj:
Linux router_nnd 2.4.31-1nnd #1 wto cze 7 21:48:56 BST 2005 i586 unknown unknown GNU/Linux


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 15 lutego 2006, 22:41 
Offline
Użytkownik

Rejestracja: sobota, 26 listopada 2005, 07:47
Posty: 864
a 2.4.32-5nnd też się nada ?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 16 lutego 2006, 00:02 
Offline
MODERATOR

Rejestracja: sobota, 30 lipca 2005, 14:08
Posty: 3984
Lokalizacja: Rzeszów
marask pisze:
a 2.4.32-5nnd też się nada ?

Przeczytaj jeszcze raz watek to bedziesz wiedzial.
Liroy, to sobie zainstaluj nowsze.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 16 lutego 2006, 17:42 
Offline

Rejestracja: wtorek, 31 stycznia 2006, 12:29
Posty: 9
tasiorek jesli mozna to napisz jak


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 16 lutego 2006, 18:01 
Offline
MODERATOR

Rejestracja: sobota, 30 lipca 2005, 14:08
Posty: 3984
Lokalizacja: Rzeszów
http://ww1.devel-nnd.brb.pl/nnd/repo.test/
Tu masz repozytorium, a jak to zrobic powie Ci man pacman.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 8 marca 2006, 12:07 
Offline
Użytkownik

Rejestracja: sobota, 27 marca 2004, 05:21
Posty: 284
Lokalizacja: Dublin
Widząc ilość odwiedzin :) pozwoliłem sobie wstawić ankietę, żeby zorientować się w rzeczywistej potrzebie rozwijania skryptu.

_________________
jamp@99xBEZ_TEGO.pl
TL-ER6020,TL-SG3216,TL-SG3210,RT-N66U(AP),RT-N16(AP),TL-WDR4300(OpenWrt)
SYNOLOGY DS112+ 3TB, D525MW 4GB RAM 500GB - DEBIAN
E35M1-I 8GB RAM 500GB,2x4TB(raid1),2x3TB(raid1) - SLACKWARE
ix2-200 2x3TB(raid1),GoFlex Net 2x1TB - DEBIAN ARM,GoFlex Net 2x500GB


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 8 marca 2006, 19:27 
Offline
Użytkownik

Rejestracja: środa, 2 lutego 2005, 23:40
Posty: 483
Swego czasu dość intensywnie interesowałem się tym zagadnieniem.
Opracowałem nawet odpowiednie skrypty do współpracy account z bazą rrdtool i skrypty wyświetlania wyników w rrdtool.
Zainteresowanych zapraszam na www.ao.sytes.net
Tam opisałem co i jak, ale uwaga - początkujący niech sobie odpuszczą.
I jeszcze jedna uwaga - ten opis jest z października 2005.

_________________
Pozdrawiam


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 29 ]  Przejdź na stronę 1, 2  Następna

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 3 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl