首页 > 系统相关 >linux同步文件到百度云盘

linux同步文件到百度云盘

时间:2023-12-22 18:11:07浏览次数:30  
标签:tar 云盘 mysql echo sh linux bypy NOW 百度

背景

由于个人项目预算有限,把mysql和应用程序都跑在同一台阿里云ECS机器上面,就在昨天(2023年12月21日) ,服务器突然出现问题 进程全部挂掉了,服务器也无法重启,找工程师排查后发现是系统磁盘挂载出现了问题,好在恢复后数据都还在,数据没有丢失真是万幸。如果数据丢了那就game over了。想着把数据定时备份到百度云盘中。做一下记录。

安装bypy

Linux系统数据同步百度云盘使用的是一个python写的sdk包 bypy 看起来不算是官方开发的。

这里使用python3的pip3来安装。python2貌似不行 没有整成功。

安装bypy

pip3 install bypy

执行完命令输出如下字样 表示成功,如果不成功可能是python版本问题,具体问题需要具体搜索一下。

Installing collected packages: dill, multiprocess, requests-toolbelt, bypy
Successfully installed bypy-1.8.2 dill-0.3.4 multiprocess-0.70.12.2 requests-toolbelt-1.0.0

安装 requests

pip3 install requests

输入bypy -V命令能输出版本号表示安装成功

bypy -V
bypy v1.8.2

使用bypy工具命令

bypy info 空间使用信息

首次使用bypy info命令的时候 会引导做一个oauth2的授权操作。效果如下 把命令行中的地址复制过浏览器中进行一个授权操作,允许授权后浏览器中会显示授权码,把授权码输入到命令行中,回车等返回空间信息就行了。

bypy info
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?client_id=q8WE4EpCsau1oS0MplgMKNBn&response_type=code&redirect_uri=oob&scope=basic+netdisk
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done
e205719ee8deed8c36e4ebddd8ed8a23 ---授权码在这里输入
Authorizing, please be patient, it may take upto 300 seconds...
Quota: 5.000GB
Used: 2.506GB
bypy upload 上传文件

上传test.sh到云盘

bypy upload test.sh
bypy list 查看文件列表
bypy list
/apps/bypy ($t $f $s $m $d):
F 2023-12-22-13-07.tar.gz 248551123 2023-12-22, 13:24:46 333fb9f30ld355584a294075f98f38a6
F test.sh 8 2023-12-22, 13:14:00 a234d619bj4ceb0cb2296e045c913720
bypy downfile 下载文件到Linix磁盘
 rm -rf test.sh  #先删除
 bypy downfile test.sh . #在重新下载 该目录下依然有test.sh文件
<I> [14:12:49] ./test.sh <- /apps/bypy/test.sh
[====================] 100% (8.0B/8.0B) ETA:  (12B/s,  gone) 
bypy compare 对比本地和云盘的文件
bypy compare  test.sh

定时备份

linux里面定时任务主要还是基于crontab。编写一个备份脚本 定时执行就行了。

如下演示一个从docker容器中的mysql中备份数据 并压缩数据 然后推送到百度云盘示例

vim /opt/mysqlbak.sh

#!/bin/bash
export NOW="$(date +"%Y-%m-%d-%H-%M")"
export DATA_DIR=/opt/datahub/mysqlbak
echo "$NOW 开始备份mysql数据"
docker exec  mysql /bin/bash -c "mysqldump -uroot -proot --set-gtid-purged=OFF -B cheruan_prod > $DATA_DIR/mysql_data_cc_prod_$NOW.sql"
echo "正在压缩文件...."
tar -czvf $NOW.tar.gz $DATA_DIR/mysql_data_cc_prod_$NOW.sql
echo "压缩文件完成 $NOW.tar.gz"
#速度稍慢点 tar -cjvf $NOW.tar.bz2 $DATA_DIR/mysql_data_cc_prod_$NOW.sql
#速度巨慢 压缩率最大 tar -cJvf $NOW.tar.xz $DATA_DIR/mysql_data_cc_prod_$NOW.sql
echo "正在删除历史文件+7"
find -mtime +7 -name "*.tar.gz"   -exec rm {} \;
echo "删除历史文件完成 "
echo "正在删除SQL文件"
rm -rf $DATA_DIR/mysql_data_cc_prod_$NOW.sql
echo "SQL文件删除完成"
echo "正在推送压缩包至网络云盘"
bypy upload /opt/datahub/mysqlbak/$NOW.tar.gz
echo "推送压缩包至网络云盘已完成"

然后配置定时任务 crontab -e

30 1 * * * sh /opt/mysqlbak.sh >> /var/log/mysql_dumps.log 2>&1

标签:tar,云盘,mysql,echo,sh,linux,bypy,NOW,百度
From: https://www.cnblogs.com/peachyy/p/17922136.html

相关文章

  • 文档生成工具:Linux下doxygen的使用
    一、概述Doxygen是一个代码文档生成工具。它从代码文件中提取注释并可生成多种文档形式。如:网页文档HTML,RTF(MS-Word),PDF等等。同时也可生成函数之间的调用和文件的依赖关系图表。二、安装平台:linuxsudoapt-getinstalldoxygensudoapt-getinstallgraphvizsudoapt-ge......
  • 在 Linux 上以 All-in-One 模式安装 KubeSphere
    1、什么是KubeSphere KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的IT自动化运维能力,简化企业的DevOps工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)......
  • Linux安装pinpoint监控,保姆级安装攻略,没有之一
    Linux安装pinpoint监控,保姆级安装攻略,没有之一pinpoint介绍Pinpoint是一个开源的APM(ApplicationPerformanceManagement/应用性能管理)工具,用于基于java的大规模分布式系统,基于GoogleDapper论文。架构组成Pinpoint主要由四部分组成:Pinpoint-Collector:数据收集模块,接收Agent发......
  • Linux OpenGL (2) —— 创建窗口
    #编译命令写在前面:g++-ooutmain.cpplib/glad.c-lglfw-lGL-lm-lXrandr-lXi-lX11-lXxf86vm-lpthread-ldl-lXinerama-lXcursor初始化GLFW配置需要使用的OpenGL版本并启用核心开发模式//main.cpp#include<glad/glad.h>//glad头文件必须放在所有头......
  • linux环境下nginx配置http2
    由于项目需求,在nginx下支持http2协议,希望提升访问性能。除了介绍配置过程,在文章最后会记上过程中的困惑。准备工作nginx-1.19.2.tar.gzopenssl-1.0.2r.tar.gz(必须不低于1.0.2,否则不支持http2)以上文件上传到/usr/local目录下。开始安装安装nginx#解压openssl>tar-zxv......
  • Linux OpenGL (1)——环境搭建(GLFW, glad)
    所有代码和过程都已经过测试测试环境:UbuntuWSL18.04为什么需要GLFW和glad库我粗浅的理解:opengl并没有提供一些跨平台代码的实现细节,因此,需要根据不同的平台下载一些库来填充opengl中“空虚”的函数。如何安装GLFW和glad库安装GLFW#安装GLFWsudoapt-get......
  • QCN9024|Wallys DR9074-TRIBAND Now Supported by ATH11K for Enhanced Linux Compati
    QCN9024|WallysDR9074-TRIBANDNowSupportedbyATH11KforEnhancedLinuxCompatibility!WallysisthrilledtoannouncethatourDR9074-TRIBANDisnowsupportedbyATH11K.ThisnotonlyextendsitsusabilitybeyondQualcommplatformsbutopensdoorsforint......
  • 盘点Linux系统中常用的防火墙工具!
    防火墙是一种网络安全工具,它可以控制网络通信并保护系统免受网络攻击,因此Linux系统也会采用防火墙来保护自己免受攻击。那么Linux中常用的防火墙工具有哪些?以下是具体内容介绍。以下是几个常用的防火墙工具推荐:1、iptables:iptables是Linux上最常用的防火墙工具之一。......
  • Linux中大括号主要作用是什么?需要注意哪些?
    在Linux中,不同的括号有着不同的作用。那么Linux中的大括号代表什么意思?在Linux中,大括号是一种有着特定作用和用途的符号,其具有强大的扩展功能,可以帮助用户快速完成相关工具,接下来我们来看看具体的内容介绍。在Linux中,大括号用于扩展和重复命令、生成文件列表以及进行字符......
  • Linux内核在RISC-V架构下的spinlock实现
    riscv没有sev/wfe指令,当前无法在spinlock时省功耗,只能通过while循环不断检查条件。本文分析linux内核下对于spinlock的实现,具体到RISC-V体系结构。由于RISC-V体系结构下目前只是简单的实现了一个基于TAS的最基本的spinlock,本文的另一个附加任务就是分析Linux内核为各个平台下实......