docker 配置mysql定时备份
时间: 2024-05-26 15:06:49 浏览: 182
在Docker环境下配置MySQL定时备份,可以使用以下步骤:
1. 创建一个用于存储备份文件的目录,例如`/backup`。
2. 创建一个Shell脚本文件,用于执行备份操作。可以使用`mysqldump`命令来备份MySQL数据库。以下是一个示例脚本:
```shell
#!/bin/bash
# 备份文件的保存路径
BACKUP_DIR="/backup"
# MySQL连接信息
MYSQL_HOST="localhost"
MYSQL_PORT="3306"
MYSQL_USER="root"
MYSQL_PASSWORD="password"
# 备份文件名
BACKUP_FILE="${BACKUP_DIR}/$(date +%Y-%m-%d_%H%M%S).sql"
# 执行备份
mysqldump -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} --all-databases > ${BACKUP_FILE}
# 删除七天前的旧备份
find ${BACKUP_DIR} -type f -name "*.sql" -mtime +7 -exec rm {} \;
```
3. 将脚本保存为`backup.sh`文件,并赋予执行权限:`chmod +x backup.sh`。
4. 在Docker中创建一个定时任务,定期执行备份脚本。可以使用`crontab`命令来设置定时任务。以下是一个示例:
```shell
# 编辑定时任务
crontab -e
```
在打开的编辑器中,添加以下内容:
```
# 每天凌晨3点执行备份脚本
0 3 * * * /path/to/backup.sh
```
保存并退出编辑器。
现在,MySQL定时备份已经配置完成。每天凌晨3点,脚本将自动执行备份操作,并删除七天前的旧备份文件。
阅读全文