lukasz1410 Opublikowano 4 Lutego 2010 Zgłoś Opublikowano 4 Lutego 2010 Witam W pracy na urządzeniu LinkSys WRT54GL oraz oprogramowaniu Tomato ver. 1.22 mam napisać skrypt który umożliwi generowanie informacji o obciążeniu bezprzewodowej sieci komputerowej (download, upload). Do tego wykorzystałem łańcuchy iptables i obciążenie jest ładnie generowane (w konsoli ładnie się wyświetlają w kolumnach które są czytelne) i równocześnie zapisują się w pliku z logami na urządzeniu (niestety tutaj wszystko zapisuje się w jednej linii - co sprawia że jest to mało czytelne). kod do gromadzenia informacji: #iptables -N download #iptables -N upload #iptables -I FORWARD 1 -j download #iptables -I FORWARD 2 -j upload #iptables -A download -d 192.168.1.2 #iptables -A upload -s 192.168.1.2 #iptables -A download -d 192.168.1.4 #iptables -A upload -s 192.168.1.4 #iptables -A download -d 192.168.1.5 #iptables -A upload -s 192.168.1.5 #iptables -A download -d 192.168.1.6 #iptables -A upload -s 192.168.1.6 Niestety zależy mi na tym aby te informacje były w tym pliku czytelne ponieważ muszę je później do czegoś innego wykorzystać. Szukając po internecie znalazłem informację, że po dodaniu CRONA w Administration i zakładce Scheduler poniższego kodu informacje w pliku ładnie się będą zapisywać w kolumnach. Oczywiście wkleiłem skrypt zapisałem ustawienia i działa tak jak chciałem. Problem w tym że muszę ten kod wyjaśnić co pokolei on robi. Niestety nie znam tego języka i tu problem. Jeśli ktoś wie jak on działa to z góry dziękuję za odpowiedź... Kod dodany do CRONA: (echo "IP Download Upload" && \ (iptables -L download -vn | sed -n "/0/ s/ *[0-9]* *\([^ ]*\)[^1-9]*\([0-9\.]*\).*/\2D\1/p" \ && iptables -L upload -vn | sed -n "/0/ s/ *[0-9]* *\([^ ]*\)[- 0\*]*\([0-9\.]*\).*/\2U\1/p" ) \ | sort | sed -n "/D/{N;s/\([^D]*\)D\([^\n]*\)\n\([^U]*\)U\(.*\)/\1\t\2\t\t\4/p }") \ | sed -e "s/^/logger \"/; s/$/\"/" | /bin/sh Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...