首页 学习笔记 📖 / 未收录,推送中

请注意,本文最后更新时间:2021-02-26,最后编辑于108天前,内容可能已经不具有时效性,请谨慎参考。

一、关于

有时候我们需要进行数据备份,如果能自动将数据备份到百度网盘,那将会非常方便。百度网盘有较大的存储空间,而且不怕数据丢失,安全可靠。下面简单的总结一下如何使用 bypy 实现百度网盘数据的同步。 这是一个百度云的 Python 客户端,其主要目的和功能,就是为 Linux 使用者提供一种在命令行下,使用百度云盘中的存储空间的方法。它提供文件列表、下载、上传、比较、向上同步、向下同步,等操作。

二、环境配置

python2.7.5+centos7
查看centos版本信息

cat /etc/redhat-release

查看linux版本

cat /proc/version

查看python版本

python

(此命令查看过后用Ctrl-D退出或输入quit()退出)
安装pip、bypy

sudo yum -y install epel-release     #这是安装pip时要用到的东西
sudo yum -y install python-pip
sudo yum clean all
sudo pip install --upgrade pip     #更新 
#如果无法更新可以使用命令:sudo python -m pip install --upgrade pip
sudo pip install bypy
sudo pip install requests

如果出现下面这个,说明安装成功
请输入图片描述
上传到百度网盘

   1、执行     bypy info  --这里随意执行一条操作命令目的是为了授权

请输入图片描述
授权完成后可查看相关信息,由于百度PCS API权限限制,程序只能存取百度云端bypy目录下面的文件和目录

bypy info     #空间使用信息
bypy list     #目录信息

之后是同步文件到百度网盘

bypy upload     #要注意切换到你想要上传的目录在执行这个命令

三、bypy常用方法

重新绑定云盘用户
1:清空认证

bypy -c

2:在云盘创建文件夹

bypy mkdir  name

3:上传本地文件到云盘指定路径

bypy upload 本地文件名 /云盘文件名

4:查看云盘列表

bypy list

5:可以选择文件夹下载 百度网盘/应用文件/bypy/aaa/bbb 文件到本地

bypy downdir /aaa/bbb 

下面才是重头戏,上面只是搭建过程,我们要备份网站,首先要确定好备份目录以及要上传百度网盘的目录
比如备份网站目录(www),上传目录 /home/backup/这个自己随意,编写脚本
vim /home/backup/backup.sh

#!/bin/bash
# -------------------------------------------------------------------------------
# FileName:  backup.sh 
# Describe:  Used for database backup
# Revision:  1.0
# Date:    2021/2/25
# Author:  小白 の 博客

# 设置mysql的登录用户名和密码(根据实际情况填写)
MYSQL_USER="root"                #数据库用户
MYAQL_PASSWORD="数据库密码"       #数据库密码
MYSQL_HOST="localhost"           #数据库IP(本地)
MYSQL_PORT="3306"                #数据库端口
BACKUP_DIR=/home/backup/         #备份到哪个目录

DATE=`date +%Y%m%d%H%M`          #时间
echo "Backup Begin Date:" $(date +"%Y-%m-%d %H:%M:%S")

# 备份全部数据库
mysqldump -h$MYSQL_HOST -P$MYSQL_PORT -u$MYSQL_USER -p$MYAQL_PASSWORD -R -E --all-databases --single-transaction > $BACKUP_DIR/mysql_b
ackup_$DATE.sql
#保留3天的数据
find $backup_dir -mtime +7 -type f -name '*.sql' -exec rm -rf {} \;
echo "Backup Succeed Date:" $(date +"%Y-%m-%d %H:%M:%S")

#备份html文件
tar zcPf $BACKUP_DIR/html_${DATE}.tar.gz /var/www/html

请输入图片描述
之后修改backup.sh文件权限

chmod 755 /home/backup/backup.sh

四:定时上传到百度云盘

bypy 无法同时上传多个文件,百度云不支持上传文件夹,可以通过压缩的方式解决。
1:新建一个脚本文件写入下面的指令,上传当日sql备份文件到云盘指定位置。

touch /home/backup/baidu_backup.sh
chmod 777 /home/backup/baidu_backup.sh

请输入图片描述
脚本编写成功之后先实验一下能不能备份和上传

sh /home/backup/backup.sh
sh /home/backup/baidu_backup.sh

五:crontab -e

编写定时任务 crontab -e

#每天早上2点执行数据库和html备份脚本

0 2 * * * /bin/sh /home/backup/backup.sh >/dev/null 2>&1

#每天早上4点执行上传百度网盘脚本

0 4 * * * /bin/sh /home/backup/baidu_backup.sh >/dev/null 2>&1

最后记得重启crond

systemctl restart crond

最终效果

请输入图片描述


您阅读这篇文章共花了:



文章评论

评论已关闭

目录