云盘管理的瑞士军刀 – rclone

rclone 是一款神器级别的云盘管理工具,可以用于管理各种消费和商业的云存储服务,比如 AWS S3 和 Drive,谷歌Cloud Storage 和 Drive,微软 OneDrive,Dropbox, Box 等等。

它是一个命令行工具,能够在云盘上完成很多 Unix/Linux 命令的等效工作,比如rsync、cp、mv、mount、ls、ncdu、tree、rm 和 cat。它同时支持 Linux,MacOS 和 Windows。

我最近利用 rclone 和 Google 的 Drive,为自己的网站做了一个简易版的异地备份功能。主要思路如下:

  1. 申请一个免费的谷歌账户,获取 15 GB的云盘
  2. 利用 rclone 绑定/mount google drive 到 Linux 服务器上
  3. 使用 cron 和 Linux 工具以文件拷贝的形式实现异地备份

这里分享一下 rclone 绑定/mount Google Drive 的整个安装过程

  1. 安装
    • 官方安装教程:https://rclone.org/install/
    • 比如以 root 身份进行安装
    • 命令:curl https://rclone.org/install.sh | sudo bash
  2. 设置 Google Drive
    • 注意事项
      • 运行 rclone config 命令
      • 使用 auto-config 完成配置
      • 配置的唯一难点:在自动模式下,rclone 会起用一个临时的 web 服务器,访问 URL 是 http://127.0.0.1:53682/,会被用于通过网页实现对 Google 服务的登录认证和授权。当我配置原创的服务器是,我需要通过 SSH Tunneling 的方式,把端口转发(port forward)到本地的笔记本或台式机上。我使用 putty 做端口转发
      • Paths 格式为 drive:path
      • Drive paths 可以为多层目录,比如:drive:directory/subdirectory.
    • 运行 rclone 命令进行验证
  3. 绑定/mount
    • rclone 运行绑定功能需要 fuse 软件包,安装该包
    • 运行绑定命令
    • 解绑命令

我把整个过程的命令列在下面

#- 安装
# curl https://rclone.org/install.sh | sudo bash
#- 运行配置命令
# rclone config
#- 验证
# rclone listremotes
g-drive:
# rclone lsd g-drive:
          -1 2022-10-10 00:41:02        -1 2022-09-25
          -1 2022-10-09 15:51:35        -1 2022-10-09
          -1 2022-10-10 23:08:20        -1 backups
# rclone lsd g-drive:/2022-10-09/
#- 安装 fuse
# yum install fuse
#- 创建绑定目录
mkdir -p /backup/gdrive
#- 绑定
# rclone mount g-drive:/backups/ /backup/gdrive --daemon --allow-non-empty
#- 解绑
# umount /backup/gdrive

Category:

Related Posts