.. 这是一个nclone的实战说明
========================================================================
nclone实战
:作者: holts
:Email: holts.he@gmail.com
:版本: $Revision: 1.00 $
:日期: $Date: 2023/12/12 16:28:00 $
:声明: 不承担由此产生的一切不良后果
:版权: 此文档遵从开放原则,你可以自由的复制,修改,发布,发售,购买, 租借,销毁,改进;或是引用,摘录,合并,比较,分类等等, 总之你可以自由使用此文档.
.. contents:: 内容索引 Table of Contents
.. section-numbering::
rclone安装
========================================================================
Rclone 官网: https://rclone.org/
负责把网盘的webdav映射到NAS的文件系统内
sudo -v ; curl https://rclone.org/install.sh | sudo bash
sudo apt-get install fuse
sudo ln -s /bin/fusermount /bin/fusermount3
配置
========================================================================
sudo rclone config
按提示为remote取名,这里我以alist为名字.
上述操作完成之后会列出一个支持列表,选择存储类型,此处选择webdav,从列出的选项可知输入52(注意:根据版本的不同,此处的数字可能会有变化,选择webdav对应的编号即可,请自行选择自己机器上列出的选项)
接下来填写webdav的地址,输入webdav的地址,此处使用的是alist的webdav地址,请根据自己安装的alist进行填写,这里填写 Http://xxx.ltd/alist/dav/
选择供应商,填写other即可, 接下来输入用户名和密码, 这个就是alist按装后的管理员名和客码.
后续按默认值一路回车完成配置文件和alist的绑定.
生成的配置文件保存在/root/.config/rclone/rclone.conf
通过alist挂载
========================================================================
alist支持国内大部分网盘转为webdav服务,而rclone可以挂载webdav为本地硬盘, 两者组合实现了各种网盘变为本地硬盘, 在alist中wedav策略可以选302重定向或者本地代理, 如果webav访问对象和alist是局域网,那么两种模式速度没什么区别, 建议选代理模式.
如果是外网的话302跳转可以绕过服务器直接访问网盘, 速度要更快也不占用alist服务器带宽, 不过302跳转可能要设置请求header来适配各家网盘.
开始的挂载数据目录路径为:/mnt/dav/, 在 /mnt/dav/ 目录下创建一个文件夹cloud,用于存放rclone挂载的alist,并给权限
sudo mkdir /mnt/dav/cloud/
sudo chown holts:family /mnt/dav/cloud/
sudo chmod 777 /mnt/dav/cloud/
sudo rclone mount alist:/ /mnt/dav/cloud --cache-dir /tmp --allow-other --vfs-cache-mode writes
开机自启
========================================================================
通过systemctl方式来实现,在 /etc/systemd/system/ 目录下创建一个 rclone.service
cat > /etc/systemd/system/rclone.service <<EOF
[Unit]
Description=Rclone
AssertPathIsDirectory=LocalFolder
After=network-online.target
[Service]
Type=simple
ExecStart=rclone mount alist:/ /mnt/dav/cloud --cache-dir /tmp --allow-other --vfs-cache-mode writes
ExecStop=fusermount -qzu LocalFolder
Restart=on-abort
User=root
[Install]
WantedBy=multi-user.target
EOF
#开始启动
systemctl start rclone
#设置开机自启
systemctl enable rclone
#其他使用
systemctl restart rclone #重启
systemctl stop rclone #停止
systemctl status rclone #状态