2023更换机器的操作


做种转移

由于更换了大盘鸡,需要重新做种,正好看到大火都说transmission挂种占用低,就打算这样做;但由于有相当数量的大文件种子,不想要校验,又不想用跳检版,所以找到了如下方法:

1. 添加种子

将种子添加到transmission中,在添加种子前一定不要把文件放在对应目录下,不然批量添加种子还是会校验

然后进入transmissionconfig/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

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是基于gcloneGoogle 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

文章作者: xieshang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 xieshang !
评论
  目录