Sida 8 av 15

SV: HOWTO: rTorrent

Postat: 14 dec 2007, 14:05
av Mekaniserad Apelsin
axel112 skrev: schedule = untied_directory,5,5,stop_untied=
[...]
Men man kanske kan ta "död" på rtorrent- och screenprocessen schemalagt via cron? Men då måste man veta processen eftersom på min debianetchinstallering på nslu2, där rtorrent huserar, saknar "killall"-kommandot.
Ändra den första femman till typ 7-9

och efter varje rad i /etc/init.d/rtorrent

så lägger du
PID1=$!

(se till att de heter lite olika) och i slutet:

sleep TIDEN_DU_VILL_ATT_rtorrent_SKA_KÖRA_I_SEKUNDER
kill PID1
(kill PID2 osv..)

SV: HOWTO: rTorrent

Postat: 15 dec 2007, 12:02
av axel112
Ändra den första femman till typ 7-9
Vad innebär den ändringen?
så lägger du
PID1=$!

(se till att de heter lite olika) och i slutet:

sleep TIDEN_DU_VILL_ATT_rtorrent_SKA_KÖRA_I_SEKUNDER
kill PID1
(kill PID2 osv..)
Har jag förstått?
Det innebär att rtorrent startar, vid start av datorn, med ett processvärde som jag kan "döda" med ex kill PID1 och som har varit igång det antal sekunder som jag preciserar. När jag sedan vill att rtorrent ska starta igen, så läggar jag in det i cron som /etc/init.d/rtorrent restart.

SV: HOWTO: rTorrent

Postat: 15 dec 2007, 13:35
av Mekaniserad Apelsin
axel112 skrev:
Ändra den första femman till typ 7-9
Vad innebär den ändringen?
så lägger du
PID1=$!

(se till att de heter lite olika) och i slutet:

sleep TIDEN_DU_VILL_ATT_rtorrent_SKA_KÖRA_I_SEKUNDER
kill PID1
(kill PID2 osv..)
Har jag förstått?
Det innebär att rtorrent startar, vid start av datorn, med ett processvärde som jag kan "döda" med ex kill PID1 och som har varit igång det antal sekunder som jag preciserar. När jag sedan vill att rtorrent ska starta igen, så läggar jag in det i cron som /etc/init.d/rtorrent restart.
Om det funkar, vilket det troligtvis inte gör eftersom den försöker spara pidvärdet på su istället, tillbaka till ritbordet!

SV: HOWTO: rTorrent

Postat: 15 dec 2007, 14:26
av axel112
Men om man får det att köras från sin egen lilla crontab? Och spara PIDvärdet där. Samt att stänga det där också och sedan köra det från crontab igen? Borde det inte fungera då?

Jag får ju såklart testa! Vill ju inte att du ska sitta vid ritordet hela dan!  ;)

EDIT: nope, funkar inte.  :-\

SV: HOWTO: rTorrent

Postat: 15 dec 2007, 15:12
av axel112

Kod: Markera allt

pkill -SIGINT rtorrent
Kan vara något att köra i sin crontab. Skickar man signalen SIGINT, ska rtorrent stängas ner efter att ha sagt adjö till sina trackers. Skickar man SIGTERM eller inte specificerar, släcks rtorrent ned direkt. Har inte provat men det verkar lovande.

SV: HOWTO: rTorrent

Postat: 15 dec 2007, 16:47
av Mekaniserad Apelsin
axel112 skrev:

Kod: Markera allt

pkill -SIGINT rtorrent
Kan vara något att köra i sin crontab. Skickar man signalen SIGINT, ska rtorrent stängas ner efter att ha sagt adjö till sina trackers. Skickar man SIGTERM eller inte specificerar, släcks rtorrent ned direkt. Har inte provat men det verkar lovande.
Om du orkar kan du ju skriva om "min" föregående kod från bash till dash, den var väldigt duktigt på att hålla koll på sådant och lär allt fungera som en deamon...

SV: HOWTO: rTorrent

Postat: 15 dec 2007, 17:07
av axel112
Mekaniserad Apelsin skrev:
Om du orkar kan du ju skriva om "min" föregående kod från bash till dash, den var väldigt duktigt på att hålla koll på sådant och lär allt fungera som en deamon...
Orkar gör jag men kan inte.  :'(

Det jag ska testa är att köra pkill rtorrent klockan 23 och sedan starta det igen på morgonen. Så får den stackars usb-hårddisken vila lite och jag kan somna i lugn och ro utan att behöva lyssna på dennes vinande.

SV: HOWTO: rTorrent

Postat: 15 dec 2007, 19:02
av Mekaniserad Apelsin
Ok, då gör väl jag det!

Kod: Markera allt

#!/bin/bash

#######################
##START CONFIGURATION##
#######################

# OBSERVE: 
# Make sure all "links" in your .rtorrent.rc files are absolute (i.e. no ~/torrentdir, they MUST be in the format /home/user/torrentdir)

user=("user1" "user2")

#For starting for just one user: 
# user=("user")
#
#For several:
# user=("user1" "user2" "user3" "user4")


for i in ${!user[@]}; do
	base[$i]=/home/${user[$i]}
	config[$i]=${base[$i]}/.rtorrent.rc
done

srnname="rtorrent" 
#######################
###END CONFIGURATION###
#######################
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="rtorrent"
NAME=rtorrent
DAEMON=/usr/bin/$NAME
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

checkcnfg() {
  	for i in ${!user[@]} ; do
		if ! [ -r "${config[i]}" ] ; then
			echo "cannot find readable config ${config[i]}. check that it is there and permissions are appropriate">&2
			exit 3
		fi
		session=$(cat "${config[i]}" | grep "^[[:space:]]*session" | sed "s/^[[:space:]]*session[[:space:]]*=[[:space:]]*//")
		if ! [ -d "${session}" ] ; then
			echo "cannot find readable session directory ${session} from config ${config[i]}. check permissions">&2
			exit 3
		fi
	done
}

d_start() {
   for i in ${!user[@]} ; do
  	[ -d "${base[$i]}" ] && cd "${base[$i]}"
  	stty stop undef && stty start undef
  	su -c "screen -ls | grep "\.${srnname}[[:space:]]" > /dev/null" ${user[$i]} || su -c "screen -dm -S ${srnname}" ${user[$i]}
  	sleep 3
  	su -c "screen -S "${srnname}" -X screen rtorrent" ${user[$i]}
  done
}

d_stop() {
  for i in ${!user[@]}; do
  	session=$(cat "${config[i]}" | grep "^[[:space:]]*session" | sed "s/^[[:space:]]*session[[:space:]]*=[[:space:]]*//")
	pid=$(cat ${session}/rtorrent.lock | awk -F: '{print($2)}' | sed "s/[^0-9]//g")
	# make sure the pid doesn't belong to another process
	# skip the pid otherwise
	if ps -A | grep ${pid}.*rtorrent > /dev/null ; then
		kill -s INT ${pid}
	fi
  done
}

checkcnfg

case "$1" in
  start)
	echo -n "Starting $DESC: $NAME"
	d_start
	echo "."
	;;
  stop)
	echo -n "Stopping $DESC: $NAME"
	d_stop
	echo "."
	;;
  restart|force-reload)
	echo -n "Restarting $DESC: $NAME"
	d_stop
	sleep 1
	d_start
	echo "."
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
Så kör gksudo gedit /etc/init.d/rtorrent i en terminal, klistra in texten, byt ut raden user mot dina värden (och fixa enligt raden ovanför).

Kör (i samma terminal):

sudo chmod a+x /etc/init.d/rtorrent
sudo update-rc.d rtorrent defaults


testa om du vill med sudo /etc/init.d/rtorrent start

För att komma åt "screenen" loggar du in som den användaren och skriver screen -dr rtorrent


Jag är väldigt säker på att den första koden jag postade fungerar om man byter den första raden till (exakt): #!/bin/bash (var nogrann med att inte ha mellanslag)!!!

SV: HOWTO: rTorrent

Postat: 21 dec 2007, 10:40
av axel112
Jag tackar för hjälpen!  ;D

SV: HOWTO: rTorrent

Postat: 31 dec 2007, 04:15
av linx
Tackar för en mycket bra howto!

Har en liten fundering, kan man lägga till i .rtorrent.rc att mapparna som inte är klara slutar med texten -incomplete eller liknande?
Som t.ex. Film.Fran.Semestern.2007.DVDR-Familjen-incomplete

Tacksam för svar.

SV: HOWTO: rTorrent

Postat: 31 dec 2007, 17:22
av Lulle
Hur sätter man så att rtorrent startar nerladdningen direkt när rtorrent öppnas?
Kan man inte köra rtorrent i bakgrunden på något sätt?
Tänkte så att man slipper ha terminal fönstret öppet hela tiden?

SV: HOWTO: rTorrent

Postat: 01 jan 2008, 05:45
av Mekaniserad Apelsin
Lulle skrev: Hur sätter man så att rtorrent startar nerladdningen direkt när rtorrent öppnas?
Kan man inte köra rtorrent i bakgrunden på något sätt?
Tänkte så att man slipper ha terminal fönstret öppet hela tiden?
Om du följer den senaste guiden av mig, så gör det att rtorrent startar i bakgrunden varenda gång du startar datorn (i bakgrunden och utan att tud behöver logga in).

SV: HOWTO: rTorrent

Postat: 06 jan 2008, 23:38
av skillz
Hur stänger man av DHT?

SV: HOWTO: rTorrent

Postat: 26 jan 2008, 13:07
av Dimi
Jag har lite problem med att få följande att fungera:

Kod: Markera allt

# When the torrent finishes, it executes "mv -n <base_path> ~/Download/"
# and then sets the destination directory to "~/Download/". (0.7.7+)

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,~/Download/ ;d.set_directory=~/Download/"

taget från: http://libtorrent.rakshasa.no/wiki/RTorrentCommonTasks

Jag ändrar ovanstående stycke till:

Kod: Markera allt

# When the torrent finishes, it executes "mv -n <base_path> ~/Download/"
# and then sets the destination directory to "~/Download/". (0.7.7+)

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/home/matte/torrents/downloads ;d.set_directory=/media/disk/video/"
Någon som kan hjälpa mig förstå hur det ska vara?

SV: HOWTO: rTorrent

Postat: 27 jan 2008, 01:09
av theospappa
#When the torrent finishes, it executes "mv -n <base_path> ~/Download/"
# and then sets the destination directory to "~/Download/". (0.7.7+)

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/home/matte/torrents/downloads ;d.set_directory=/media/disk/video/"


den röda sökvägen skall vara likadan (dvs. antingen /home/matte/torrents/downloads  eller  /media/disk/video/)  och peka var du vill att filerna skall hamna efter att dom är färdiga, OBS att du måste ha ver.0.7.7 eller nyare!!

Jag fick det att fungera efter lite pill  ;)

SV: HOWTO: rTorrent

Postat: 27 jan 2008, 20:33
av Dimi
theospappa skrev: #When the torrent finishes, it executes "mv -n <base_path> ~/Download/"
# and then sets the destination directory to "~/Download/". (0.7.7+)

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/home/matte/torrents/downloads ;d.set_directory=/media/disk/video/"


den röda sökvägen skall vara likadan (dvs. antingen /home/matte/torrents/downloads  eller  /media/disk/video/)  och peka var du vill att filerna skall hamna efter att dom är färdiga, OBS att du måste ha ver.0.7.7 eller nyare!!

Jag får det inte att fungera alls :-(. Men jag fattar inte heller hur jag ska skriva för att peka ut destinationen.

Jag fick det att fungera efter lite pill  ;)

SV: HOWTO: rTorrent

Postat: 28 jan 2008, 06:32
av theospappa
Antingen skall raden se ut så här:

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/home/matte/torrents/downloads/ ;d.set_directory=/home/matte/torrents/downloads/"

eller så här:

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/media/disk/video/ ;d.set_directory=/media/disk/video/"

/mvh Theospappa

SV: HOWTO: rTorrent

Postat: 28 jan 2008, 12:59
av HellRat
Jag får följande fel när jag ska starta rtorrent (det har funkat bra tidigare), vad kan detta vara?

Kod: Markera allt

rtorrent: Error in option file: ~/.rtorrent.rc:34: Wrong number of arguments.
Såhär ser .rtorrent.rc ut:

Kod: Markera allt

# Maximum and minimum number of peers to connect to per torrent.
min_peers = 40
max_peers = 120

# Same as above but for seeding completed torrents (-1 = same as downloading)
min_peers_seed = 10
max_peers_seed = 50

# Maximum number of simultanious uploads per torrent.
max_uploads = 20

# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 8000
upload_rate = 800

# Default directory to save the downloaded torrents.
directory = /home/mattias/torrents/dl

# Default session directory.
session = /home/mattias/torrents/session

# Watch a directory for new torrents, and stop those that have been
# deleted.
schedule = watch_directory,5,5,load_start=/home/mattias/torrents/torrentfiles/*.torrent
schedule = untied_directory,5,5,stop_untied=

# Close torrents when diskspace is low.
schedule = low_diskspace,5,60,close_low_diskspace=100M

#Stop torrents when reaching upload ratio in percent,
# when also reaching total upload in bytes, or when
# reaching final upload ratio in percent.
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
schedule = ratio,60,60,stop_on_ratio=150,200M,200

# Port range to use for listening.
port_range = 6947-6999

# Start opening ports at a random position within the port range.
port_random = yes

# Set whetever the client should try to connect to UDP trackers.
use_udp_trackers = yes

SV: HOWTO: rTorrent

Postat: 28 jan 2008, 14:03
av Konservburk
HellRat skrev: Jag får följande fel när jag ska starta rtorrent (det har funkat bra tidigare), vad kan detta vara?

Kod: Markera allt

rtorrent: Error in option file: ~/.rtorrent.rc:34: Wrong number of arguments.
Såhär ser .rtorrent.rc ut:

Kod: Markera allt

schedule = ratio,60,60,stop_on_ratio=150,200M,200

Kod: Markera allt

schedule = ratio,60,60,"stop_on_ratio=150,200M,200"

SV: HOWTO: rTorrent

Postat: 28 jan 2008, 20:15
av Dimi
theospappa skrev: Antingen skall raden se ut så här:

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/home/matte/torrents/downloads/ ;d.set_directory=/home/matte/torrents/downloads/"

eller så här:

on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/media/disk/video/ ;d.set_directory=/media/disk/video/"

/mvh Theospappa
Tackar. Nu fungerar det fint. Jag hade tydligen förståt. Det jag inte förstod var att allt var tvunget att stå på samma rad. Efter den lilla till fixningen fungerar det fint. THX