2024. május 4., szombat

Gyorskeresés

Hogyan állítsuk be transmission alatt a maximum aktív torrentek számát?

Írta: | Kulcsszavak: linux . transmission . openwrt

[ ÚJ BEJEGYZÉS ]

Találtam egy scriptet amit a cronnal ütemezve elméletileg lekorlátozza a maximum torrentek számát.
Szükséges hozzá a transmission-cli is a működéséhez.

Maga a script (innen is le lehet tölteni):

#!/bin/sh

# Configuration
REMOTE="/usr/bin/transmission-remote"
USERNAME="felhasznalonev_helye"
PASSWORD="jelszo_helye"
MAXDOWN="maximum_letoltesek_szama"
MAXACTIVE="maximum_osszes_fel/le_toltes_szama"
CONFIG="/config_fajl_eleresi_utvonala/settings.json"

# *************
# Set-up variables
CMD="$REMOTE --auth $USERNAME:$PASSWORD"
LOGCMD="/usr/bin/logger -t transmission-queue "
MAXRATIO=$(cat $CONFIG | grep \"ratio-limit\":)
MAXRATIO=${MAXRATIO#*\"ratio-limit\": }
MAXRATIO=${MAXRATIO%*, }

# *************
# deal with downloads
DOWNACTIVE="$($CMD -l | tail +2 | grep -v -e 100% -e Sum -e Stopped | wc -l)"
if [ $MAXDOWN -lt $DOWNACTIVE ]; then
DOWNTOSTOP="$($CMD -l | tail +2 | grep -v -e 100% -e Sum -e Stopped | \
tail -n $(expr $DOWNACTIVE - $MAXDOWN) | awk '{ print $1; }')"
for ID in $DOWNTOSTOP; do
NAME="$($CMD --torrent $ID --info | grep Name:)"
$LOGCMD "<<< $ID: ${NAME#*Name: }"
$CMD --torrent $ID --stop >> /dev/null 2>&1
done
else
[ $(expr $MAXDOWN - $DOWNACTIVE) -gt 0 ] && (
DOWNINACTIVE="$($CMD -l | tail +2 | grep -v 100% | grep Stopped | wc -l)"
[ $DOWNINACTIVE -gt 0 ] && (
DOWNTOSTART="$($CMD -l | tail +2 | grep -v 100% | grep Stopped | \
head -n $(expr $MAXDOWN - $DOWNACTIVE) | awk '{ print $1; }')"
for ID in $DOWNTOSTART; do
NAME="$($CMD --torrent $ID --info | grep Name:)"
$LOGCMD ">>> $ID: ${NAME#*Name: }"
$CMD --torrent $ID --start >> /dev/null 2>&1
done
)
)
fi
# Then deal with total active
ACTIVE="$($CMD -l | tail +2 | grep -v Sum | grep -v Stopped | wc -l)"
if [ $MAXACTIVE -lt $ACTIVE ]; then
TOSTOP="$($CMD -l | tail +2 | grep 100% | grep -v Stopped | \
tail -n $(expr $ACTIVE - $MAXACTIVE) | awk '{ print $1; }')"
for ID in $TOSTOP; do
NAME="$($CMD --torrent $ID --info | grep Name:)"
$LOGCMD "<<< $ID: ${NAME#*Name: }"
$CMD --torrent $ID --stop >> /dev/null 2>&1
done
else
[ $(expr $MAXACTIVE - $ACTIVE) -gt 0 ] && (
SEEDINACTIVE="$($CMD -l | tail +2 | grep 100% | grep Stopped | \
awk -v ratio=$MAXRATIO '{ if (strtonum(substr($0,52,4)) < ratio) print $0 ;}' | wc -l)"
[ $SEEDINACTIVE -gt 0 ] && (
TOSTART="$($CMD -l | tail +2 | grep 100% | grep Stopped | \
awk -v ratio=$MAXRATIO '{ if (strtonum(substr($0,52,4)) < ratio) print $0 ;}' | \
head -n $(expr $MAXACTIVE - $ACTIVE) | awk '{ print $1; }')"
for ID in $TOSTART; do
NAME="$($CMD --torrent $ID --info | grep Name:)"
$LOGCMD ">>> $ID: ${NAME#*Name: }"
$CMD --torrent $ID --start >> /dev/null 2>&1
done
)
)
fi

A configuration részt mindenki szerkessze át olyanra, amilyenre kell. :)

A fájlt mentsük egy tetszőleges helyre. Majd tegyük futtathatóvá.

chmod a+x script

Próbáljuk ki, hogy működik-e.

./script

Majd ütemezzük!

crontab -e

És másoljuk bele a következő sort! Ez 5 percenként futtatja a scriptet.

*/5 * * * * /home/script

Mentsük el! Vi alatt:

ESC + :wq! + ENTER

Sikerült megoldani, működik 100%-osan.
Elsősorban openwrt alá készült.

http://tothszabi.info

Hozzászólások

(#1) hati


hati
addikt

Nem teljesen értem, hogy mire is jó ez? Annyi torrent van benne, amennyit hozzáadok.

(#2) Speeedfire válasza hati (#1) üzenetére


Speeedfire
nagyúr

a maximum fel és letöltések számát korlátozza, hogy egy időben mennyi torrent futhat

utorrent alatt ez:

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#3) hati válasza Speeedfire (#2) üzenetére


hati
addikt

sztem a peer-limit-global elég hozzá, mindegy, hogy hány torrentre oszlik el, de lehet az egy torrentre eső kapcsolatok számával is operálni

(#4) Speeedfire válasza hati (#3) üzenetére


Speeedfire
nagyúr

tényleg nem érted :B
a peer limitnek ehhez semmi köze

itt az a lényeg h egyszerre 10 torrentet tölt vagy csak 2-öt
nem mind1 h a 2 torrent pl lejön egy óra alatt, vagy egyszerre jön le a 10 torrent egy nap alatt

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#5) hati válasza Speeedfire (#4) üzenetére


hati
addikt

ja értem, ha vki nem bír magával és egyszerre akar letölteni 10 torrentet, akkor a szkript vissza fogja. én inkább nem adok hozzá egyszerre 10 torrentet :)

mondjuk jobb jobb lenne egy priorizálás a transmissionba, hogy ha több torrentet tölt, akkor milyen sorrendben töltse le azokat

(#6) Speeedfire válasza hati (#5) üzenetére


Speeedfire
nagyúr

nekem pl tegnap 20 torrent volt berakva és mire elosztotta a sávszélt alig maradt torrentenként valami
így meg csak 2 torrentet tölt le egyszerre és marad sávszél rendesen
a többi meg addig pause módban csücsül a listán

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#7) hati válasza Speeedfire (#6) üzenetére


hati
addikt

értem
mondjuk nekem a 60/6-os netemmel az a gond nem fordul elő, max. nem bírja a router :))

(#8) Speeedfire válasza hati (#7) üzenetére


Speeedfire
nagyúr

ne vagánykodj ! :D
mennyire bírja a terhelést a router ekkora net mellett?

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#9) hati válasza Speeedfire (#8) üzenetére


hati
addikt

routolni gond nélkül routolja, a vinyóra írás a limit nála, mert gyorsabb a netem lefelé, mint amit a router ki tud írni hdd-re

(a netemet meg a cég fizeti, mert kell a munkámhoz)

(#10) Speeedfire válasza hati (#9) üzenetére


Speeedfire
nagyúr

nekem is ilyen munkahely kell :D

de ha lekorlátozod a letöltést pl 3-4mb/s-re akkor azt még elbírja?
mekkora ami maxban elbír a letöltés?

[ Szerkesztve ]

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.