rtorrent -- PT机的下载利器

rtorrent的确非常好用,下载机使用了Ubuntu 9.10, openssh-server, rtorrent 0.8.6/libtorrent 0.12.0, DDNS, samba就OK了。

基本上rtorrent的编译非常简单,下载libtorrent和rtorrent(Ubuntu 9.10中的rtorrent版本太老,有一些配置没法支持,所以自己编译最新版本),然后就是configure --prefix=/usr, make, sudo make install。中途缺什么就apt-get什么就行了。注意rtorrent是用C++写的,所以要sudo apt-get install g++。

有一点预先提醒一下:rtorrent目前似乎对EXT4有点问题,所以还是用EXT3比较靠谱。特别是如果配置了下载完成之后mv到另外一个目录的话,问题会更多。

安装完成之后就是配置了,而配置rtorrent主要是这些方面:

1. 下载rtorrent官方提供的一个init脚本,可以用来放在/etc/init.d中,这样可以让rtorrent开机启动。这个脚本在rtorrent的官网上有下载,只需要修改user=这一项配置就可以了。将脚本改名成rtorrent,放到/etc/init.d下面,用sudo update-rc.d rtorrent defaults就可以开机启动了。这个脚本会使用screen将rtorrent放在后台运行,而这个screen的名字就是rtorrent,所以可以用screen -r rtorrent来切换到这个screen中。
2. 配置~/.rtorrent.rc,这个配置文件很讲究,看完了rtorrent网站上的所有文档之后,我的配置如下:

 

# Super rtorrent configurations

# Directory structure
# ~/rtorrent
#         --> session
#         --> torrents -- put torrents for watching
#                  --> movie
#                  --> music
#                  --> game
#                  --> soft
#                  --> misc
#         --> download -- put downloaded files
#                  --> movie
#                  --> music
#                  --> game
#                  --> soft
#                  --> misc
#         --> working

# Session directory

session = /home/download/rtorrent/session

# Watch a directory for torrents, and set download destination dir to another
schedule = watch_directory_1,10,10,"load_start=/home/download/rtorrent/torrents/movie/*.torrent,d.set_directory=/home/download/rtorrent/download/movie/"
schedule 
= watch_directory_2,10,10,"load_start=/home/download/rtorrent/torrents/music/*.torrent,d.set_directory=/home/download/rtorrent/download/music/"
schedule 
= watch_directory_3,10,10,"load_start=/home/download/rtorrent/torrents/game/*.torrent,d.set_directory=/home/download/rtorrent/download/game/"
schedule 
= watch_directory_4,10,10,"load_start=/home/download/rtorrent/torrents/soft/*.torrent,d.set_directory=/home/download/rtorrent/download/soft/"
schedule 
= watch_directory_5,10,10,"load_start=/home/download/rtorrent/torrents/misc/*.torrent,d.set_directory=/home/download/rtorrent/download/misc/"
schedule 
= tied_directory,10,10,start_tied=
schedule 
= untied_directory,10,10,close_untied=

# Global download/upload rate
# max_downloads_div = 90
# max_downloads_global = 5

download_rate = 450
upload_rate 
= 64

# Bandwidth time control
schedule = throttle_1,00:00:00,24:00:00,download_rate=450
schedule 
= throttle_2,00:00:00,24:00:00,upload_rate=64
schedule 
= throttle_3,12:30:00,24:00:00,download_rate=200
schedule 
= throttle_4,12:30:00,24:00:00,upload_rate=10
schedule 
= throttle_5,13:30:00,24:00:00,download_rate=450
schedule 
= throttle_6,13:30:00,24:00:00,upload_rate=64
schedule 
= throttle_7,21:00:00,24:00:00,download_rate=200
schedule 
= throttle_8,21:00:00,24:00:00,upload_rate=10

# Global connection
min_peers = 40
max_peers 
= 100
min_peers_seed 
= 10
max_peers_seed 
= 50
max_uploads 
= 15
# Default working directory
directory = /home/download/rtorrent/working/

# Close downloading when disk space is low
schedule = low_diskspace,5,60,close_low_diskspace=500m

# Ports for listening
port_range = 6998-6999

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

# Turn off DHT
dht = off

# Enable peer exchange (for torrents not marked private)
peer_exchange = yes

# Codepage settings
encoding_list = utf-8

# Set buffer (10M & 20M)
# According to the codes, seems these options don't take effect

send_buffer_size = 10485760
receive_buffer_size 
= 20971520

 

 

这份配置中,几个关键点提一下:
1. 没有使用很多人都用的下载完成之后,mv到另外一个目录的做法。因为个人感觉没有必要,而且EXT4下会有问题。
2. max_downloads_global不是用来设置最多同时允许几个任务run的,这个配置其实是限制所有可用的下载连接数的。而全局的下载连接数是根据下载throttle会自动计算,所以还是不要配置max_downloads_global和max_downloads_div的为好。
3. 下载和上传的throttle一定要配置正确,因为这些数值同时也决定了下载和上传连接的数量,这样就不会导致连接数过高,从而导致内存占用大,adsl路由器出现断流。
4. rtorrent是没法配置同时允许的最大任务数的,正如第三点所说,没有这个必要,因为会根据下载和上传的throttle来自动配置。在网上看到很多人利用torrent watch+cron的方式来间接实现了,其实个人感觉也是没有必要。因为throttle会限制全局下载连接数,所以就算丢进去一大堆任务,问题也不大,因为连接数被限制住了。
5. 根据时间来调整throttle很实用。比如晚上上网的时候限速,白天的时候一小段时间限速(这是因为这段时间是公司的休息时间,可以利用这段时间在公司查看下载状况,还可以添加任务,如果下载不限速,那由于连接数很多,所以在公司就很难连上下载机)。需要注意的是,不能只调节下载速度,上传速度也要调节。否则由于上传速度太高,上传连接都被占满,这样的话,也会导致远程ssh非常的慢。

 

posted @ 2010-12-11 12:28  super119  阅读(2138)  评论(0编辑  收藏  举报