tranmission aktív torrentek száma

Fórumok

üdv!
találtam egy scriptet amivel lehet szabályozni a max aktív torrentek számát de hibát dob ki

a script http://pastie.org/632212

és a hiba:

root@server:/home# ./script
tail: unrecognized option `--lines=+2'
BusyBox v1.15.3 (2010-04-06 03:14:11 CEST) multi-call binary

Usage: tail [OPTIONS] [FILE]...

Print last 10 lines of each FILE to standard output.
With more than one FILE, precede each with a header giving the
file name. With no FILE, or when FILE is -, read standard input.

Options:
-c N[kbm] Output the last N bytes
-n N[kbm] Print last N lines instead of last 10
-f Output data as the file grows
-q Never output headers giving file names
-s SEC Wait SEC seconds between reads with -f
-v Always output headers giving file names

If the first character of N (bytes or lines) is a '+', output begins with
the Nth item from the start of each file, otherwise, print the last N items
in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2).

./script: line 24: syntax error: unexpected "|"

openwrt alatt próbálkozok vele

Hozzászólások

tail --lines=+2

helyett próbáld meg a

tail -n+2

változatot.

--
A gyors gondolat többet ér, mint a gyors mozdulat.

vagy csak siman tail +2 -vel. Az en "elfoglaltdobozom"-ban mind a kettot elfogadja (es az eredetit itt se). (*) A hivatkozott script-en csak siman annyit csinal, hogy levagja a legfelso, fejlec infokat megjelenito sort.

(*) Ezert baromi jo mindent megcsinalni GNU-compat modra, mert aztan a fel vilagon nem megy. Ellenben ha a nem-annyira-egyertelmu-de-ezer-eve-kvaziszabvany format hasznalnank, meg mukodne masutt is, mint a szerzo sajat gepen :-(

Szerk: megneztem melyebben a scriptet. Hanyok. tail | grep | grep | grep | tail | awk . Aaaaaa!!!! (Bar asszem az 58-as sor tetszik legjobban, amiben csak siman egy "awk | wc -l" szerepel.) Ezekkel ugye az a szep, hogy a busybox-ot elvben eroforrasszegeny gepen szokjak leginkabb hasznalni, de mit nekunk eroforras.

Bocs, a vege nagyon off.

köszönöm mindkettőtök segítségét
működik a script, örök hála :)

szerinted mire kellene kicserélni őket, h ne terhelje a routert?
elég sok scriptet találtam neten, de soknál be sem lehet állítani pl a felhasználónév/jelszó párost
vagy csak akkor kezdi el a következőt ha már visszaosztott 2.0-át

pl. megnézed ezt:

grep -v 100% | grep -v Sum | grep -v Stopped

Gondolom ezt a 3 értéket 1 sorba írja, azaz kihagyja, ami 100%, Sum vagy Stopped állapotú. Mivel nem láttam még transmission-remote klienst, csak ötlet szintjén javaslom átírni valami hasonlóra:

grep -v (100%.*Sum.*Stopped)

58. sorba: (gondolom az inactive állapotú torrentek számára kíváncsi)

SEEDINACTIVE="$($CMD -l | tail --lines=+2 | grep 100% | grep Stopped | \
		awk -v ratio=$MAXRATIO '{ if (strtonum(substr($0,52,4)) < ratio) print $0 ;}' | wc -l)"

helyett

SEEDINACTIVE="$($CMD -l | tail +2 | awk -v ratio=$MAXRATIO 'BEGIN { inactive_count = 0; } /100%.*Stopped/ { if( strtonum( substr( $0,52,4 ) ) < ratio ) inactive_count++; } END { print inactive_count; }'

Vagy

DOWNACTIVE="$($CMD -l | tail --lines=+2 | grep -v 100% | grep -v Sum | grep -v Stopped | wc -l)"

helyett szintén:

DOWNACTIVE="$($CMD -l | tail +2 | awk 'BEGIN { down_active = 0; } $0 !~ /100%.*Sum.*Stopped/ { down_active++; } END { print down_active; }"

--
A gyors gondolat többet ér, mint a gyors mozdulat.

(Nem arrol van szo, hogy nem terheli a routert, csak arrol, hogy valoszinuleg *kevesbe* terheli.)

grep -v 100% | grep -v Sum | grep -v Stopped

helyett boven eleg egy db grep:

grep -v -e 100% -e Sum -e Stopped

es meg regexp-ekkel sem kell szivni. Szoval egyszeruen a sok grep | grep kombinaciot ossze kell (illetve hat lehet) vonni, ez mar sporolas. Es ezeken a kis vackokon meg akar szamithat is.

Ilyen, amikor az ír, aki még csak tanulja; nem az, aki oktatja. :)

Egyébként, lehet, hogy ott rontottam el, hogy elhagytam az idézőjeleket a grep -v utasítás (regexp) része körülről. Viszont akkor már illendő lenne a DOWNACTIVE értékadást zárójel (") helyett backtick (`) közé foglalnom. 0.o :)

--
A gyors gondolat többet ér, mint a gyors mozdulat.

a szándék a fontos, és nem is álltál messze a valóságtól :)
egyébként ezeknek a scripteknek van valami "leírása"
ezt nevezik bash programozásnak, szívesen megtanulnám, mostanában sokat túrom az openwrt-s routert és jó lenne ha én is tudnék ilyen scriptekkel játszani