技术教程

Cenots7 备份数据到百度网盘

2023-04-07 10:37


                                            




自动将服务器内数据备份到百度网盘,实现每天自动备份,并且自动删除7天前的备份,保证数据安全是做为运维人员的第一要素。

我们实现自动备份到百度网盘主要是通过bypy 进行操作。具体如下:

1,在服务器内安装bypy,bypy 基于Python的pip包管理工具进行安装,首先确认服务器内的python版本是2.7.*

确认服务器python 版本命令:python 

2,安装pip、bypy

sudo yum -y install epel-release 

sudo yum -y install python-pip

sudo yum clean all

sudo pip install --upgrade pip

#如果无法更新可以使用命令:sudo python -m pip install --upgrade pip

如果还是提示错误:

手动下载get-pip.py文件:

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py

#进行更新:

sudo python get-pip.py

安装bypy:

sudo pip install bypy

sudo pip install requests

3,授权登陆百度网盘

执行命令:bypy info

访问屏幕显示的连接,并登陆授权,获取到百度网盘的授权码后,复制,粘贴到shell 窗口中回车。

4,授权成功后,就可以通过命令查看或上传、下载、删除百度网盘中的数据了,相关命令如下:

注:连接到的百度网盘目录为:我的网盘/我的应用数据/bypy目录下,也可自行创建下级目录使用,但无法控制bypy上层目录。

bypy info  #空间容量使用信息

bypy list   #查看百度网盘目录信息

bypy upload  <文件> #将指定文件上传到百度网盘

bypy downdir  <文件> #将百度网盘中的文件下载到本地服务器上

bypy delete  <文件>  #删除百度网盘中指定文件

bypy cmpare   #比较本地当前目录和云盘根目录,看是否一致,来判断是否同步成功

5,连接上了百度网盘,通过以上命令可以进行相关操作后,就可以实现很多功能了,比如写个脚本进行自动备份上传百度网盘和自动删除7天前的数据

注:文件存放路径不同,脚本命令也可能存在一些不同,根据自行服务器环境与文件存放进行适当修改

我写的一个简单脚本如下:

创建 backup_baidupan.sh:vi backup_baidupan.sh

脚本内命令如下:

#!/bin/bash

backtar="web"`date '+%Y%m%d'`

rmbacktar="web"`date -d '7 days ago' +"%Y%m%d"`

sql="sql"`date '+%Y%m%d'`

rmsql="sql"`date -d '7 days ago' +"%Y%m%d"`

mysqldump -u数据库用户 -p数据库密码 --databases 要导出的数据库名 > /home/backup/${sql}.sql

tar -czf /home/backup/${sql}.tar.gz /home/backup/${sql}.sql

zip -q -r /home/backup/${backtar}.zip  /home/wwwroot/

bypy upload /home/backup/${backtar}.zip

bypy upload /home/backup/${sql}.tar.gz

if [ -f "/home/backup/${rmbacktar}.zip" ];then

        rm -f /home/backup/${rmbacktar}.zip

        rm -f /home/backup/${rmsql}.sql

        rm -f /home/backup/${rmsql}.tar.gz

        bypy delete ${rmbacktar}.zip

        bypy dalete ${rmsql}.tar.gz

fi

命令解析:

首先定义网站备份名、删除网站备份名(7天前)、数据库备份名、删除数据库备份名(7天前)

导出数据库(红色字体信息修改成您自己的信息)

打包数据库

打包网站数据

上传网站数据备份

上传数据库备份

删除7天前的网站数据、数据库备份;删除百度网盘内7天前的数据备份

6,给脚本添加可执行权限:chmod 755 backup_baidupan.sh

7,将脚本加入到任务计划内,进行每天自动执行:

编辑任务计划:crontab -e

添加:30 3 * * * /shell/backup_baidupan.sh

8,到此完美实现自动备份到百度网盘和自动清理7天前的网盘中的数据。