WebDav 折腾「其二」之 rclone

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

前言

离上一篇已经 3 个月了,简单说就是买了台 NAT 的 VPS,然后在如何利用这个问题上考虑了下对接网盘 WebDav 这个方向,虽然折腾是折腾,实际折腾完也没有然后了……

VPS 服务商的推广链接:iHostART - 记得密码一定要随机生成

网盘链接:https://infini-cloud.net/ 推荐码:L2M3H

查看同系列的其他文章 ——

WebDav_沉冰浮水:https://www.wdssmq.com/tag/WebDav/

rclone

Rclone:

https://rclone.org/

rclone 安装

# rclone
VERSION=v1.63.1
mkdir -p ~/tmp/rclone && cd ~/tmp/rclone
wget https://downloads.rclone.org/${VERSION}/rclone-${VERSION}-linux-amd64.zip
unzip rclone-${VERSION}-linux-amd64.zip
cd rclone-${VERSION}-linux-amd64
# 复制到 /usr/local/bin/
cp rclone /usr/local/bin/
# 添加执行权限
chmod +x /usr/local/bin/rclone

rclone 配置

# 执行命令后,根据提示进行配置
rclone config

# 2023/05/24 12:29:07 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults
# No remotes found, make a new one?
# n) New remote
# s) Set configuration password
# q) Quit config
# n/s/q> n

echo ↑ 新建一个 remote
# -----------------

# Enter name for new remote.
# name> Terdav

echo ↑ 输入 remote 名称
# -----------------

# Option Storage.
# Type of storage to configure.
# Choose a number from below, or type in your own value.
# Storage> 46

echo ↑ 这一步会给出 OneDrive,Dropbox 等网盘的选项,这里选择 WebDav,具体序号以实际为准
# -----------------

# Option url.
# URL of http host to connect to.
# E.g. https://example.com.
# Enter a value.
# url> https://lsv.teracloud.jp/dav/

echo ↑ 输入 WebDav 的地址,这里是 InfiniCLOUD 的地址
# -----------------

# Option vendor.
# Name of the WebDAV site/service/software you are using.
# Choose a number from below, or type in your own value.
# Press Enter to leave empty.
# vendor> 5

echo ↑ 这一步会给出一些 WebDav 的选项,这里选择 5,即 Other site/service or software

# Option user.
# User name.
# In case NTLM authentication is used, the username should be in the format 'Domain\User'.
# Enter a value. Press Enter to leave empty.
# user> username

echo ↑ 输入用户名
# -----------------

# Option pass.
# Password.
# Choose an alternative below. Press Enter for the default (n).
# y) Yes, type in my own password
# g) Generate random password
# n) No, leave this optional password blank (default)
# y/g/n> y

echo ↑ 是否需要密码,这里选择 y
# -----------------

# Enter the password:
# password: passwordpassword

echo ↑ 输入密码
# -----------------

# Option bearer_token.
# Bearer token instead of user/pass (e.g. a Macaroon).
# Enter a value. Press Enter to leave empty.
# bearer_token>

echo ↑ 这里直接回车,鉴权方式不是 Bearer Token
# -----------------

# Edit advanced config?
# y) Yes
# n) No (default)
# y/n> n

echo ↑ 是否编辑高级配置,这里选择 n
# -----------------

# Configuration complete.
# Options:
# - type: webdav
# - url: https://lsv.teracloud.jp/dav/
# - vendor: other
# - user: wdmbts
# - pass: *** ENCRYPTED ***
# Keep this "Terdav" remote?
# y) Yes this is OK (default)
# e) Edit this remote
# d) Delete this remote
# y/e/d> y

echo ↑ 会输出配置信息供确认
# -----------------

rclone 使用

注:Terdav 是上一步配置的 remote 名称

# 列出远程的顶级目录
rclone lsd Terdav:

# 列出全部文件
rclone ls Terdav:

mkdir ~/tmp/rclone-test
# 写入 Hello World 及格式化的时间到文件 2023-08-28T16:39:51+08:00
echo "Hello World $(date --rfc-3339=seconds)" > ~/tmp/rclone-test/for-test.txt
# 上传本地文件夹到远程,表示路径的参数交换则是下载
rclone copy -P ~/tmp/rclone-test Terdav:rclone-test

# 注:-P / --progress 标志会显示传输进度

# -------------------------------------

# ----------------
# 重要: rclone sync 是单向同步,会删除「只存在于目标端」的文件;
# 重要: rclone sync 是单向同步,会删除「只存在于目标端」的文件;
# ----------------

mkdir ~/tmp/rclone-sync

# 同步本地文件夹到远程,--interactive 表示交互式同步,对每个要处理的文件进行提示
echo "Hello World $(date --rfc-3339=seconds)" > ~/tmp/rclone-sync/for-sync.txt
rclone sync --interactive -P ~/tmp/rclone-sync Terdav:rclone-sync

# 同步本地文件夹到远程,--dry-run 表示模拟运行
echo "Hello World $(date --rfc-3339=seconds)" > ~/tmp/rclone-sync/for-sync.txt
rclone sync --dry-run -P ~/tmp/rclone-sync Terdav:rclone-sync

# 注:可以使用 --exclude _gsdata_/** 排除 GoodSync 生成的 _gsdata_ 文件夹

# -------------------------------------

# 双向同步功能目前仍为「实验性」
mkdir ~/tmp/rclone-sync

# 结论:在 WebDav 场景下确实没法用的样子?会提示  modification time support is missing
echo "Hello World $(date --rfc-3339=seconds)" > ~/tmp/rclone-sync/for-sync.txt
rclone bisync -P --resync ~/tmp/rclone-sync Terdav:rclone-sync --exclude _gsdata_/**

# 两个本地文件夹测试
mkdir ~/tmp/rclone-sync-2
# -1, --resync 用于初始化同步,两边的文件都会被同步到对方
rclone bisync -P --resync ~/tmp/rclone-sync ~/tmp/rclone-sync-2 --exclude _gsdata_/**

# 仅同步距离上次同步后修改的文件
echo "Hello World $(date --rfc-3339=seconds)" > ~/tmp/rclone-sync/for-sync.txt
rclone bisync -P ~/tmp/rclone-sync ~/tmp/rclone-sync-2 --exclude _gsdata_/**

# 注:--remove-empty-dirs 参数用于清理空文件夹


rclone 挂载

好像可以将远程 WebDav 挂载到本地;

一、首先过程中遇到一些报错及解决方法:

# 安装 fuse ,系统为 Debian
apt install fuse
# Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount3": executable file not found in $PATH

# 好像用的机子环境比较特殊,
mknod -m 666 /dev/fuse c 10 229
# update-rc.d -f udev disable
# mount helper error: fusermount3: fuse device not found, try 'modprobe fuse' first

二、挂载

# 创建一个挂载点,保持为空文件夹
mkdir -p ~/tmp/rclone-mount

# 挂载,--daemon 表示后台运行(守护进程),仅在 Linux 下有效
rclone mount Terdav:rclone-mount ~/tmp/rclone-mount --daemon

# 直接写入文件
echo "Hello World $(date --rfc-3339=seconds)" > ~/tmp/rclone-mount/for-mount.txt

三、重启后自动挂载

占位

结语

最理想的使用还是双向同步,然而并不能用;

GoodSync 到是可以用,然而是收费的,虽然之前不知道为什么领到了一年的免费授权……

所以下一篇将会介绍一下 GoodSync 在 Linux 下的使用。


爱发电

本文标题:《WebDav 折腾「其二」之 rclone》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20100203443.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

囧啊囧 囧啊囧 发布于 2010-10-16 22:41:11  
#cmt72
以前还有广告版的。
回复
发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

本质上,每个人需要的是「让自己面临的问题得到解决」的能力。。

这又涉及到直接能力和间接能力,,缺乏直接能力很正常,视情况可以通过学习来掌握直接能力,或者「请」有直接能力的人来帮自己解决。。

缺乏间接能力的情况是真没救,尤其是对「这是**我自己**面临的问题」这一前提没有明确认知的人。。

其实,在认知意义上,焦虑时我知道这种情绪对应「焦虑」这个文法词汇,此外还有「压抑」「悲伤」等等,然而「抑郁」其实是个我认知体系外的词,虽然经常一些情绪感受我找不到对应的语言词汇来表述,却也只能将其实表述为「找不到对应的语言词汇来表述」的某些感受。。

所以,我所面对的问题又可以明确向哪里寻求帮助呢?

爱发电支持者

最新留言

友情链接