IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux上传文件到百度云盘(使用shell脚本) -> 正文阅读

[系统运维]linux上传文件到百度云盘(使用shell脚本)

前言(属于废话)

??众所周知,百度云网盘虽然下载慢,但是容量确实很足的,很多时候我们都会把文件备份到百度云盘。作为程序员,我们都是能通过代码解决的问题,坚决不手动处理。
??当我查找通过代码+定时任务自动备份文件到百度云方案的时候,大部分都是通过安装python,然后调用python的库文件解决。为了能更加简单处理,写了这个通过shell上传文件到百度云盘的脚本,不需要任何依赖,更加的简单方便。

运行环境
  • linux环境,目前只在CentOS 7环境测试,其他环境需自测
最终目的
  • 通过一行代码上传文件到百度云:

    ./uploadBaiduCloud.sh 需要上传的文件路径 百度云网盘的文件路径

应用场景
  • 通过Jenkins或者linux调用定时任务,定时导出Mysql等数据库文件,然后每天自动备份百度云
  • 使用脚本在没有界面的linux环境中上传文件到百度云
  • 其他、等等

使用教程

此步骤百度开放的权限有限,并且只用操作一次,因此并没有写到自动执行脚本里,具体操作步骤如下

一、在百度云网盘开放平台创建应用,并获取到accessToken以及refreshToken

  1. 注册并登录百度云网盘开放平台,通过个人认证,并创建应用
    文档地址:https://pan.baidu.com/union/doc/Bl0eta7z8
    在这里插入图片描述
    应用创建完毕后,我们就可以获取到AppKey以及SecretKey
    在这里插入图片描述
    2.申请授权
    授权访问有三种方式,这里我推荐使用【授权码模式授权】方式,这个方式后续我的脚本支持自动获取新的授权码。
    文档地址:https://pan.baidu.com/union/doc/al0rwqzzl
    此步骤我们主要目的是为了获取到access_token以及refresh_token,拿到这两个授权码就可以使用我们的脚本,开始上传文件了。

二、配置脚本,并上传文件到百度云网盘

步骤一主要是我们在百度云的操作,比较复杂以及繁琐,但是没有办法,你用人家的产品,就要使用人家的授权方式,剩下的所有操作我都封装成脚本了。具体步骤如下

  1. 创建脚本配置文件(为了账号安全,要不我每一次提交代码,密钥都被网上看到了,都给我网盘上传文件可咋整)
    在linux系统家目录下创建.baiduDiskTokenFile配置文件,root账号在/root/目录下,其他账户在/home/账户名下
    在这里插入图片描述
    文件内容包含一下部分

    • accessToken:步骤一第2点获取到的access_token
    • refreshToken:步骤一第2点获取到的refresh_token
    • appKey:步骤一第1点获取到的SecretKey
    • secretKey:步骤一第1点获取到的SecretKey
    • expiresDate:授权码过期时间,只有第一需要配置,后续会自动更新

    在这里插入图片描述

  2. 下载脚本,并赋予可执行权限

    wget https://gitee.com/zhaojiyuan/sh-lib/raw/master/uploadBaiduCloud.sh
    chmod +x uploadBaiduCloud.sh

  3. 上传文件到百度云
    比如说上传uploadBaiduCloud.sh到百度云网盘根目录backups文件夹下,使用如下命令

    ./uploadBaiduCloud.sh uploadBaiduCloud.sh /backups/aaa.sh

    在这里插入图片描述

脚本实现流程图

在这里插入图片描述

备注

  1. 百度云配置文件路径可以变更,但是需要自己去脚本中修改第3行的tokenFile对应的值
  2. 从百度获取的授权码有效期是30天,但是为了保险起见,我会检查当有效期超过二十天时候,便自动刷新获取新的授权码
  3. 提前刷新获取收的授权码,并不会使老的授权码失效,应该是等30天后才能自动失效,但是我并没有测试具体的失效时间
  4. 拿到授权码就可以对网盘内容进行增删概查,因此授权码应当妥善保管
  5. 个人水平有限,欢迎指正
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:27:13  更:2022-06-29 19:29:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/25 13:55:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码