一、在docker外的宿主机上建立用于存储备份文件的文件夹/usr/local/mysqlbak/

二、建立脚本文件夹/usr/local/mysqlbak_scripts/ ,建立备份脚本文件mysql_backup.sh

 

#!/bin/bash
# MySQL 用户名和密码
USER="root"
PASSWORD="123456"
DATABASE="xxxx"

# 备份保存路径和文件名
BACKUP_PATH="/usr/local/mysqlbak"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_PATH/$DATABASE_$DATE.sql"

# 执行备份命令
docker exec -i mysql /bin/bash -c 'mysqldump -uroot -p123456 --databases xxxx' > $BACKUP_FILE
echo "docker exec -i mysql /bin/bash -c 'mysqldump -uroot -p123456 --databases xxxx' > $BACKUP_FILE"
echo "MySQL backup completed"

三、crontab -e

0 1 * * * /usr/local/mysqlbak_scripts/mysql_backup.sh

四、保存crontab并重启生效

# 查看定时任务状态命令

systemctl status cron

# 如果定时任务状态不是启动的,可以执行启动定时任务命令

sudo systemctl start cron