docker里的mysql自动备份

我的mysql是用的docker运行的,所以要备份数据库的话,直接进入容器就好了

因为执行mysqldump 命令的时候把mysql的账号密码写在命令行里会一直警告,所以在my.cnf里增加mysqldump的账号密码

下边是脚本示例

#!/bin/bash
shopt -s extglob

# sql文件储存位置
BACKUP=/home/docker-mysql/backups
 
DATATIME=$(date "+%Y-%m-%d_%H%M%S")

DATABASE="备份的数据库名称"
 
echo "${DATATIME}开始备份数库${DATABASE}" >> /home/docker-mysql/backups-logs/log.txt

docker exec mysql mysqldump ${DATABASE} > ${BACKUP}/${DATATIME}.sql

# 删除之前的sql文件
# find "${BACKUP}" -type f ! -name "${DATATIME}.sql" -exec rm -rf {} +

[ -e ${BACKUP}/${DATATIME}.sql ] && echo "数据库${DATABASE}备份成功!" >> /home/docker-mysql/backups-logs/log.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[mysqldump]
user=root
password=pwd

这里脚本已经编写完成,

使用命令编辑定时任务

crontab -e

然后把刚才的脚本路径写入,定时执行。

我是每天的凌晨3点钟执行定时备份

0 3 * * * cd /home/docker-mysql/; sh backup_mysql.sh

下边就是关于定时任务的命令

service crond status # 查看状态
service crond start # 启动任务
service crond stop # 停止任务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值