如何在Google Drive与Google Cloud Shell Editor间关联并同步文件夹
Google Drive与Google Cloud Shell $HOME目录同步操作方案
该需求完全可以实现,核心通过rclone工具完成Google Drive的挂载与双向同步,具体操作步骤如下:
1. 安装rclone
Google Cloud Shell默认未预装rclone,直接执行以下命令完成安装:curl https://rclone.org/install.sh | sudo bash
2. 配置rclone对接Google Drive
执行配置命令rclone config后,按照以下步骤操作:
- 输入
n新建远程存储配置,自定义配置名称(比如gdrive) - 存储类型选择
Google Drive,输入对应选项编号即可 client_id和client_secret字段留空,使用rclone默认公共配置即可- 权限范围选择「完整访问所有文件,排除应用数据文件夹」,输入对应选项编号即可
- 根文件夹ID字段按需填写:留空默认同步整个Google Drive,填写指定文件夹ID则仅同步该目录内容
- 服务账号文件字段留空,使用默认OAuth认证方式
- 提示「是否自动配置」时选择
n,复制生成的认证链接到本地浏览器打开,登录对应Google账号完成授权,将返回的授权码粘贴回Cloud Shell终端 - 提示「是否配置为团队盘」按需选择,个人普通账号输入
n即可 - 确认配置无误输入
y保存,输入q退出配置界面
3. 手动挂载Google Drive到$HOME目录
- 新建本地同步目录,示例路径为
~/gdrive_sync:mkdir -p ~/gdrive_sync - 执行挂载命令:
rclone mount gdrive: ~/gdrive_sync --daemon - 挂载完成后,
~/gdrive_sync目录内的文件会和Google Drive云端实时同步,任意端的修改都会自动同步到另一端。
4. 配置自动挂载与定时同步
Cloud Shell会话无操作10小时后会自动回收,重启后挂载配置会失效,可通过以下配置实现自动生效:
- 终端启动自动挂载:执行
echo 'rclone mount gdrive: ~/gdrive_sync --daemon 2>/dev/null' >> ~/.bashrc,每次打开Cloud Shell终端会自动执行挂载操作 - 定时双向同步:避免网络波动导致的同步延迟,可添加crontab定时任务:
- 执行
crontab -e打开定时任务编辑界面 - 新增以下行,设置每5分钟执行一次双向同步:
*/5 * * * * rclone bisync gdrive: ~/gdrive_sync 2>/dev/null
注意:首次执行双向同步前先运行rclone bisync gdrive: ~/gdrive_sync --resync完成基线对齐
- 执行
注意事项
- 所有需要持久化的工作文件建议都存放在同步目录内,Cloud Shell本地非同步目录的文件会随会话回收被清除
- 首次挂载同步大量文件时会有短时间延迟,等待同步完成后再进行编辑操作即可
- 执行同步操作前可添加
--dry-run参数测试同步效果,确认无误后再去掉参数正式执行
内容的提问来源于stack exchange,提问作者user4703417
相关产品推荐
相关产品推荐

