Rclone同步Linux数据到google云盘

文章目录

Rclone管理云存储

Rclone(Remote Clone)是一款开源的命令行工具,用于管理云存储和本地文件系统之间的文件同步、传输和加密。它支持超过 70 种存储服务(如 Google Drive、Dropbox、Amazon S3、OneDrive、Backblaze B2 等),并提供了类似 Unix 命令(如 cp、mv、ls)的操作方式,适合自动化备份、数据迁移和远程文件管理。

资源

Rclone安装和使用说明

安装rclone

在大多数Linux发行版上安装rclone:

bash 复制代码
# 使用curl安装(通用方法)
curl https://rclone.org/install.sh | sudo bash

# 或者使用包管理器
# Debian/Ubuntu
sudo apt install rclone

# CentOS/RHEL
sudo yum install rclone

配置rclone连接到云盘

运行配置命令:

bash 复制代码
rclone config

按照提示选择云存储类型(如Google Drive、OneDrive、Dropbox等),然后按照授权流程完成设置。

基本备份命令

  • 简单复制
bash 复制代码
rclone copy /本地/目录 远程名称:远程路径
  • 同步(保持两边一致)
bash 复制代码
rclone sync /本地/目录 远程名称:远程路径
  • 带进度显示的复制
bash 复制代码
rclone copy -P /本地/目录 远程名称:远程路径

高级备份选项

  • 增量备份(只复制更改的文件)
bash 复制代码
rclone copy --update /本地/目录 远程名称:远程路径
  • 排除特定文件或目录
bash 复制代码
rclone copy --exclude "*.tmp" --exclude "/cache/**" /本地/目录 远程名称:远程路径
  • 设置带宽限制
bash 复制代码
rclone copy --bwlimit 1M /本地/目录 远程名称:远程路径

自动化备份

创建cron任务实现定期备份

  • 编辑crontab:
bash 复制代码
crontab -e
  • 添加类似如下内容(每天凌晨3点执行备份):
bash 复制代码
0 3 * * * /usr/bin/rclone sync /重要数据 远程名称:备份路径 >> /var/log/rclone.log 2>&1

加密备份(可选)

如果你需要加密云端的备份数据:

bash 复制代码
rclone config

选择"crypt"类型,然后配置加密选项。

恢复数据

从云盘恢复数据到本地:

bash 复制代码
rclone copy 远程名称:远程路径 /本地/恢复目录

常见云存储服务名称

在rclone配置中,常用云服务的名称如下:

  • Google Drive: "drive"

  • Dropbox: "dropbox"

  • Microsoft OneDrive: "onedrive"

  • Amazon S3: "s3"

  • Alibaba Cloud OSS: "oss"

  • 腾讯云COS: "cos"

注意事项

  • 首次同步大量数据可能需要较长时间

  • 使用sync命令要小心,它会删除云盘上不存在于本地的文件

  • 对于关键数据,建议先在小规模数据上测试

  • 注意云服务商的API调用限制

通过以上步骤,你可以有效地将Linux服务器上的数据备份到各种云存储服务中。

googleCloud 平台中操作

OAuth权限请求页面(OAuth同意屏幕)创建

  • 选项API和服务 => 二级菜单OAuth权限请求页面
  • 第一次进入显示页面如下,点击开始进行创建

  • 创建完成如下

Google drive api 客户ID创建(需要先创建OAuth权限请求页面

点击菜单 => API和服务 => +启用API和服務 => 搜索google drive api选中

  • 选项API和服务器菜单,进入

  • +启用API和服务器

  • 进入到 API 库进行搜寻选择

  • 选中Google Drive API

  • 点击启用

  • 进入页面后,选择凭据 => +创建凭据 => Oauth客户端凭据

  • 创建成功,客户端ID 和秘钥用作交互验证使用

Linux(Debian)系统备份代码到云盘操作

安装Rclone

bash 复制代码
curl https://rclone.org/install.sh | sudo bash
  • 出现一下提醒说明已经安装成功
  • 在新的系统中安装时,提醒无相关解压工具,需要提取安装
bash 复制代码
sudo apt install unzip

配置config,创建远程连接

bash 复制代码
rclone config
创建一个遥控节点,并命名回车
  • 命名回车后,会列出rclone支持的存储类型选择,输入对应的类型前面的数字编号,这个数字可能不同版本不一样,本次选择的是20 Goole Drive
配置客户ID 和秘钥
选择启动权限范围,选择1
其他参数配置
  • 选择service_account_file。
    直接按回车
  • 编辑高级配置?
    输入n
  • 使用web浏览器自动验证rclone与remote?
    输入n

到这一步,需要借助window来进行授权操作

  • 下载window版本rclone,解压下载包,进入解压目录,在地址栏中出入cmd启动黑窗口,拷贝返回的命令回车
黑窗口回车后,会自动启动浏览器打开网页授权
  • 选择申请对应的google账号
  • 显示已封锁存储权限

  • 出现上面的页面,需要把当前账号加入测试名单

  • 重复上面动动作,选择对应账号 一直下一步

  • 出现这个页面,表明已经授权成功。在黑窗口中拿到授权的token

填写token
  • 在windows浏览器中授权完成后,CMD黑窗口中会获取到token,拷贝粘贴到输入位置
  • 询问是否为共享盘(团队盘),个人的不是,输入n回车
  • 最后一步选择y回车,完成操作,q退出

测试推送备份

同步传输到云盘
bash 复制代码
rclone sync ./testdir/ gg-drive:LinuxDocs
  • google云盘中可以看到对应的数据
新增附件newfile.txt,同步成功
根据后续需求,定制定时同步方案
相关推荐
chennalC#c.h.JA Ptho24 分钟前
lubuntu 系统详解
linux·经验分享·笔记·系统架构·系统安全
冼紫菜25 分钟前
解决 CentOS 7 镜像源无法访问的问题
linux·运维·服务器·centos
几道之旅27 分钟前
分别在windows和linux上使用curl,有啥区别?
linux·运维·windows
季柳东28 分钟前
在虚拟机Ubuntu18.04中安装NS2教程及应用
linux·运维·ubuntu
冼紫菜30 分钟前
如何在 CentOS 7 虚拟机上配置静态 IP 地址并保持重启后 SSH 连接
linux·开发语言·centos·ssh
christine-rr1 小时前
【25软考网工】第六章(4)VPN虚拟专用网 L2TP、PPTP、PPP认证方式;IPSec、GRE
运维·网络·网络协议·网络工程师·ip·软考·考试
oioihoii1 小时前
C++23 views::slide (P2442R1) 深入解析
linux·算法·c++23
乐言3611 小时前
如何用Jmeter实现自动化测试?
运维·jmeter·自动化
hnlucky1 小时前
《基于 Kubernetes 的 WordPress 高可用部署实践:从 MariaDB 到 Nginx 反向代理》
运维·数据库·nginx·云原生·容器·kubernetes·mariadb
Jerry&Louis2 小时前
【Ubuntu】neovim & Lazyvim安装与卸载
linux·ubuntu