宝塔面板定时备份docker部署的mysql数据

前言:我Linux服务器安装了docker,docker容器跑了springboot项目,用到了mysql数据库。所以必须准备程序,数据备份功能,万一哪天系统挂了,数据丢了,我可以随时恢复。因为没钱开通阿里云存储对象oss,腾讯云存储对象,就用七牛云免费的存储空间备份了。对于个人业余搞搞项目,还是可以的。对于商业项目还是用阿里云或腾讯云的存储对象吧。
宝塔面板也有插件支持阿里云,腾讯云存储空间。不会写代码的,也不用担心哦

需要用到的:

第一步:准备mysql数据库备份脚本

这个脚本是我根据网上资料修改,亲身实践成功得来。

#!/bin/bash
echo '##########################################'
echo '###### The database is automatically backed up at 01:00 am every day ######'
echo '##########################################'
# Setting environment variables
DATE=$(date +%Y_%m_%d_%H_%M_%S)
# $(date +%Y%m%d)
# 数据库用户名
USERNAME=root
# 密码
PASSWORD=123456
# 要备份的数据库
DB=favorites

# Docker容器ID
DOCKERID=********

#DB1=xxxx
# ubuntu 系统非 root 用户,要将备份产生的文件放到 xxx 用户所在的目录下,否则必须使用 sudo 输入管理员密码执行此脚本。
# Linux服务器上备份文件目录。
DIR=/root/data_backup   
echo 'Get system date: ' $DATE

if [ ! -d "$DIR" ]; then
mkdir $DIR
fi
cd $DIR

echo 'backup started...' $(date "+%Y-%m-%d %H:%M:%S")

# 备份 docker 容器中的数据库
# docker exec -it 容器名称 mysqldump -u用户名 -p密码 要备份的数据库名称 | gzip > 要打包到的文件名称

# docker exec -it c7f1b671c57f mysqldump -u$USERNAME -p$PASSWORD $DB > /root/data_backup/database_name_$DATE.sql
# docker exec -it c7f1b671c57f mysqldump -uroot -proot favorites | gzip > /root/data_backup/database_name_2021_05_07.sql.gz

# 最关键的备份语句
docker exec $DOCKERID /usr/bin/mysqldump -u $USERNAME --password=$PASSWORD  $DB | gzip > /root/data_backup/database_name_$DATE.sql.gz

# 备份 直接安装在 linux 系统中的数据库
# /usr/bin/mysqldump -u$USERNAME -p$PASSWORD $DB2 | gzip > xxx_$DATE.sql.gz
# just backup the latest 7 days

# find ${DIR} -name "database_name_*.sql.gz" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1

# find ${DIR} -name "database_name_*.sql.gz" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1


#保留最近文件数5,删除其它多余的文件。
ReservedNum=5
date=$(date "+%Y%m%d-%H%M%S")

FileNum=$(ls -l $DIR|grep ^- |wc -l)

while(( $FileNum > $ReservedNum))
do
    OldFile=$(ls -rt $DIR| head -1)
    echo  $date "Delete File:"$OldFile
    rm -rf $DIR/$OldFile
    let "FileNum--"
done 

echo 'backup completed!' $(date "+%Y-%m-%d %H:%M:%S")

第二步:宝塔面板计划任务添加Shell脚本。

宝塔面板计划任务添加Shell脚本。
把上面的脚本添加进去。记住mysql数据备份目录。

在这里插入图片描述

第三步:宝塔面板添加新站点

宝塔面板添加新站点,选择站点根目录为mysql数据备份目录。比如:/root/data_backup

在这里插入图片描述

第四步:宝塔面板添加网站计划任务备份到七牛云

宝塔面板计划任务添加网站备份到七牛云。

在这里插入图片描述

这样就可以把服务器上的任何自定义目录都备份到七牛云存储空间了。

/root/data_backup/目录下,我们可以定期把docker mysql容器的数据导出到这个目录。然后再利用宝塔面板备份站点的功能,对这个自定义的目录进行完整备份到七牛云,又拍云,微软one drive,服务器FTP空间等

查看七牛云存储空间,备份成功!

在这里插入图片描述

关于宝塔面板备份七牛云,参考教程:宝塔面板备份站点数据到七牛云完整教程

原文持续更新:https://www.yundashi168.com/267.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用宝塔面板通过Docker部署MySQL服务,你可以按照以下步骤进行操作: 1. 确保你的宿主机已经安装了宝塔面板,并且面板版本为7.9.26或更高版本。 2. 在宝塔面板,进入Docker项目管理器,点击"创建容器"按钮。 3. 在容器创建页面,选择MySQL镜像,并选择所需的MySQL版本。例如,可以选择MySQL5.7.37或MySQL8.0.28。 4. 配置容器的基本信息,比如设置容器名字、端口映射等。 5. 在"环境变量"选项卡,配置MySQL的相关环境变量,比如设置root密码、创建数据库等。你可以使用以下命令来查看数据库、创建数据库和用户以及授权的命令:show databases; create database dapaodocker; create user 'dapaodocker'@'%' identified by 'dapao666!'; grant all on dapaodocker.* to dapaodocker@'%'; select host,user from user;。 6. 点击"创建"按钮,等待容器创建完成。 7. 容器创建完成后,你可以在面板管理该MySQL容器,包括启动、停止、重启等操作。 通过以上步骤,你就可以在宝塔面板上使用Docker项目管理器快速创建多个版本的MySQL服务了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [堡塔面板使用Docker部署MySQL多实例](https://blog.csdn.net/u011630259/article/details/124497343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值