备份容器数据库命令:
docker exec 容器名称或ID mysqldump -u用户名 -p密码 数据库名称 > 导出文件.sql
请替换以下占位符:
容器名称或ID
:您的 MySQL 容器的名称或ID。用户名
:您的 MySQL 用户名。密码
:您的 MySQL 密码。数据库名称
:要导出的数据库的名称。导出文件.sql
:将 SQL 导出保存到的文件
举例:
docker exec v2_apollo_core_sql mysqldump -uroot -p'lJjSs&Sip_bvJ^IBtUd' tt_core_db > tt_core_db_20240126.sql
自动化备份
vim backup_db_all.sh
#!/bin/bash
#用时间命名文件
current_date=$(date +'%Y%m%d')
#核心数据
docker exec v2_apollo_core_sql mysqldump -uroot -p'lJjSs&SiIBtUd' tt_core_db > "/home/apollo/apollo_db/tt_core_db_$current_date.sql"
#assignment数据
docker exec v2_apollo_tt_timetracker_sql mysqldump -uroot -p'lJ^IBtUd' tm_tt > "/home/apollo/apollo_db/tm_tt_$current_date.sql"
#leavereques数据
docker exec v2_apollo_leave_request_sql mysqldump -uroot -p'lJjSvJ^IBtUd' tm_leave > "/home/apollo/apollo_db/tm_leave_$current_date.sql"echo "success"
给一个执行的权限:
chmod +x backup_db_all.sh
加入计划任务,在此之前你可以先测试一下:
/bin/bash backup_db_all.sh
放入计划任务当中:
crontab -e
crontab -e
0 2 * * * /bin/bash /home/apollo/apollo_db/backup_db_all.sh
然后就可以拉,
每天的2点备份容器数据库