做种转移
由于更换了大盘鸡,需要重新做种,正好看到大火都说transmission
挂种占用低,就打算这样做;但由于有相当数量的大文件种子,不想要校验,又不想用跳检版,所以找到了如下方法:
1. 添加种子
将种子添加到transmission
中,在添加种子前一定不要把文件放在对应目录下,不然批量添加种子还是会校验。
然后进入transmission
的config/resume
目录下,看是否生成了所有种子的.resume
文件(计算数量也行),生成了之后停止transmission
进程/容器。
计算当前文件夹文件数量:ls -l | grep "^-" | wc -l
2.对resume进行修改
在config/resume
目录下,运行如下命令(仅限于Linux
端的机器,目的是修改校验状态):
sed -i 's/blocks4:none/blocks3:all4:have3:all/g' *
sed -i 's/pausedi1e8/pausedi0e8/g' *
3.把种子的文件移入
RT,把种子对应的所有文件移入到你添加种子的时候设定的目录中,确保文件无误,不然依然会报错
4.重启transmission
重启进程/容器之后,进入web ui
,会发现已经开始正常做种了。
网盘文件转移
由于Google Drive
直接做出连百度网盘都做不出的决定–强制取消订阅让你所存的超量数据直接消失,所以我不得不将其中自己的核心数据进行转移,正好阿里云盘有api
,同时vip
也有8T
空间,勉强够个人核心数据用,于是打算转移。
阿里云盘挂载
由于现阶段rclone
并未支持阿里云盘,所以我选择了现阶段挂载阿里云盘最通用的方法:webdav
。而其中又分为两类:
基于Alist
问题在于其使用的阿里云盘Open
API
有限制:
同一 IP 在 60 分钟内请求 10 次,会出现 Too Many Requests 🚫避免滥用,请勿滥用🚫
所以我最开始没有使用它,但后面还是考虑使用它,具体原因会说。
其挂载的webdav
对应的rclone
配置如下:
[aliyun]
type = webdav
url = http://0.0.0.0:5244/dav
vendor = Other
user = admin
pass = encrptpass
aliyundrive-webdav
同样基于阿里云盘Open
API
,但并未说明有调用频次限制,所以我选择了它,但使用过程中遇到了一些问题:
1. 上传功能具用一些问题,包括不限于大文件上传出错(我这边大概是在15G以上就会出问题,我看log是expired,但作者说没有上传需求所以不会修)、偶发的阿里云盘中存在文件但是在rclone copy过程中并未检测出来以及一些奇奇怪怪的小问题,不过都能解决
2. 上传速度很低。后面发现应该是阿里云盘Open对国外的速度就这样
总体而言还不错。
配置demo
:
/usr/bin/aliyundrive-webdav -r yourtoken -U admin -W yourpassword --no-trash --no-self-upgrade
rclone
配置:
[aliyun]
type = webdav
url = http://127.0.0.1:8080
vendor = nextcloud
user = admin
pass = encrptpass
进行转移
在使用aliyundrive-webdav
时的gclone
命令如下:
gclone copy source:path aliyun://yourpath/ -u -v -P --webdav-nextcloud-chunk-size 0 --retries 1 --drive-acknowledge-abuse --buffer-size=300M --retries 1 --transfers=3 --drive-chunk-size=128M --drive-random-pick-sa --drive-rolling-sa --drive-rolling-count=3 --max-size 10G --low-level-retries 1
--max-size 10G
是由于aliyundrive-webdav
本身对大文件上传支持不友好所以使用该参数限制文件大小;
--drive-random-pick-sa --drive-rolling-sa --drive-rolling-count=3
是基于gclone
对Google Drive
的支持使用的,如果不是可以不用;
而大文件我选择使用Alist
挂载的webdav
,因为其支持秒传,但webdav
并不支持流式传输,即不占用任何本地空间的传输,而是先下载到本机再上传,我觉得也可能是这个上传模式与上面那个不一样所以能够正常上传大文件;不过如果是秒传,则返回给rclone
的报错是405 Method Not Allowed
,因而需要你在确保空间足够的情况下使用,不然你需要在特别多的报错里看是秒传还是啥的问题。
gclone
命令如下:
gclone --no-update-modtime copy source:path aliyun2://yourpath/ -u -v -P --transfers=3 --drive-acknowledge-abuse --drive-random-pick-sa --buffer-size=500M --retries 1 --drive-rolling-sa --drive-rolling-count=1 --drive-random-pick-sa --drive-chunk-size=128M --transfers=3 --low-level-retries 1 --contimeout 100h --timeout 100h --min-size 10G
--low-level-retries 1 --contimeout 100h --timeout 100h
是最关键的三个参数,因为rclone
有自带的超时设定,如果不设定超时,则会在没上传完成的时候被结束掉任务;--low-level-retries 1
则是为了在超时错误之后防止重复下载文件;
--min-size 10G
则是与上面的相照应,Alist Webdav
只用来拷贝大文件。
进行挂载
在转移之后,rclone
的挂载配置也有些许变化,如下:
[Unit]
Description=Rclone azusa
AssertPathIsDirectory="yourpath"
After=network-online.target
Requires=aliyundrive-webdav.service
[Service]
Type=simple
User=root
#挂载目录设置
ExecStart=/usr/bin/rclone mount aliyun://sourcepath "yourpath" --umask 000 --uid 1001 --gid 1001 --allow-other --allow-non-empty --vfs-cache-mode writes --vfs-cache-max-age 1h --vfs-cache-max-size 10G --dir-cache-time 24h --poll-interval 20s --cache-dir=/root/.cache --buffer-size 256M --vfs-read-ahead 500M --vfs-cache-max-size 10G --vfs-cache-max-age 24h --vfs-read-chunk-size 64M --vfs-read-chunk-size-limit 512M --bwlimit-file 16M --log-level INFO --webdav-nextcloud-chunk-size 0 --buffer-size 32M
ExecStop=/bin/fusermount3 -u "yourpath"
Restart=on-abort
[Install]
WantedBy=default.target