首先你要确定mysql是在docker容器内运行的
第一步:创建文件
touch backup.sh
第二步:编辑文件
vi backup.sh
输入命令:
#!/bin/bash
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_DIR="/data/mysql-backup"
CONTAINER_NAME="mysql"
DB_USER="root"
DB_PASSWORD="password"
DATABASE="数据库名称"
docker exec $CONTAINER_NAME /usr/bin/mysqldump -u $DB_USER --password=$DB_PASSWORD $DATABASE > $BACKUP_DIR/$DATE.sql
以上内容解释:
DATE:获取当前日期作为文件名称
BACKUP_DIR:数据库备份文件存放地址
CONTAINER_NAME: mysql的镜像名称
DB_USER:mysql用户
DB_PASSWORD:mysql密码
DATABASE:指定备份数据库名称
保存并退出
第三步:执行脚本
bash backup.sh
第四步:定时备份数据库
使用crontab -e命令(注意中间有空格)
0 0 * * * bash /data/mysql-backup/backup.sh
每天凌晨执行备份脚本