rclone 有一个 cache 类型的 remote,大概了解了一下。作用是对现存的 remote 做缓存封装,使用 mount 命令将封装的 cache remote 挂载到本地,就可以获得像使用本地磁盘一样体验。

s3fs-fuse 的最大不同在于,通过 rclone 挂载 cache remote 以后,拷贝文件到挂载目录时没有时延,感觉上就和把文件拷贝到本地文件夹一样。

实际上,文件先被拷贝到了本地的缓存目录中,然后在后台默默上传到对应的对象存储。默认缓存路径为 .cache/rclone,可以在配置文件中设置 tmp_upload_path = 参数指定其他位置。

挂载 cache remote

假设我通过 rclone config 对已存在的 s3:herald remote 创建了一个名为 s3cache 的 cache remote,使用 mount 命令挂载到本地的 mylocal 目录。 最后的 -v 参数是为了在终端中打印 rclone 的信息,可以看到它在后台在做什么。

$ rclone mount --allow-other s2cache: mylocal -v

Reference