概述
Rclone是一个命令行程序,用于管理云存储上的文件。他打包了各大供应商云存储的接口提供统一的访问界面。rclone支持40多种云存储产品,包括对象存储、企业和消费者文件存储、服务以及标准传输协议。Rclone符合unix POSIX规范,支持于常见的shell工具,比如rsync、cp、 mv、mount、ls、ncdu、tree、rm 和cat等交互,Rclone使用我们耳闻能熟的语法,支持shell管道,支持—dry-run保护,同时为了保护数据的可靠性,Rclone可保留时间戳和始终进行文件验证校验和。Rclone多种文件传输协议,支持SFTP,HTTP,WebDAV,FTP和DLNA。Rclone是一个成熟的开源软件,最初受rsync的启发并采用Golang编写。其文档和社区也都非常好,提供广泛和友好的使用用例。 这里我们使用Rclone主要用来操作对象存储,可以用来上传对象、拉取对象,并可实现对象存储间的迁移。
安装rclone
apt install curl
sudo -v ; curl https://rclone.org/install.sh | sudo bash
配置rclone
rclone挂载Onedrive网盘和Googledrive团队盘
挂载Onedrive网盘到本地
临时挂载
rclone mount dsmtwo: /home/share --allow-other --allow-non-empty --vfs-cache-mode writes
取消挂载
fusermount -qzu /home/share */本地路径
如果如下报错内容:
Fatal error: failed to mount FUSE fs: fusermount: exec: “fusermount”: executable file not found in $PATH
Centos解决办法:
yum install fuse -y
Debian/Ubuntu解决办法:
apt-get install fuse -y
设置开机自动挂载
cd /etc/systemd/system
touch rclone.service
vi rclone.service
[Unit]
Description=Rclone
AssertPathIsDirectory=LocalFolder
After=network-online.target
[Service]
Type=simple
ExecStart=rclone mount dsmtwo: /home/share --allow-other --allow-non-empty --vfs-cache-mode full --vfs-cache-max-age 48h --vfs-cache-max-size 5G --vfs-read-chunk-size 128M --vfs-read-chunk-size-limit 1G --buffer-size 128M
ExecStop=fusermount -u LocalFolder
Restart=on-abort
User=root
[Install]
WantedBy=default.target
也可以将以下命令一整条复制,一起黏贴到SSH客户端运行
cat > /etc/systemd/system/rclone.service <<EOF
[Unit]
Description=Rclone
AssertPathIsDirectory=LocalFolder
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/rclone mount dsmtwo: /home/share \
--umask 0000 \
--default-permissions \
--allow-non-empty \
--allow-other \
--buffer-size 512M \
--vfs-cache-mode full \
--vfs-cache-max-size 10G \
--vfs-cache-max-age 24h \
--vfs-read-chunk-size-limit 100M
ExecStop=/bin/fusermount -u LocalFolder
Restart=on-abort
User=root
[Install]
WantedBy=default.target
EOF
各个参数
--allow-other:允许非当前 rclone 用户外其它用户进行访问
--attr-timeout 5m:文件属性缓存,(大小,修改时间等)的时间。如果 VPS 配置比较低,建议适当提高这个值,避免过多内核交互,降低资源占用。
-vfs-cache-mode full:开启 VFS 文件缓存,可减少 rclone 与 API 交互,同时可提高文件读写效率
--vfs-cache-max-age 24h:VFS 文件缓存时间,这里设置 24 小时,如果文件很少更改,建议设置更长时间
--vfs-cache-max-size 10G:VFS文件缓存上限大小,建议不超过当前空余磁盘的50%
--vfs-read-chunk-size-limit 100M:分块读取大小,这里设置的是100M,可提高文件读的效率,比如1G的文件,大致分为10个块进行读取,但与此同时API请求次数也会增多
--buffer-size 100M:内存缓存,如果您内存比较小,可降低此值,如果内存比较大,可适当提高
--daemon:指后台方式运行
如果你想挂载多个网盘,那么将systemd配置文件的rclone.service改成rclone1.service即可,重启动什么的同样换成rclone1
设置开机启动
systemctl enable rclone
启动挂载
systemctl start rclone
停止挂载
systemctl stop rclone
重新挂载
systemctl restart rclone
状态查看
systemctl status rclone