1、创建文件夹:/home/backups/mysql
2、在mysql文件夹下创建文件:backups.sh
3、编写文件backups.sh如下:
# 保留10天数据,
# mysqldocker 为安装mysql的docker
docker exec -i jeecg-boot-mysql bash<<'EOF'
# 判断目录是不是已经存在,如果不存在则创建
if [ ! -d "/backups/mysql" ]; then
mkdir -p /backups/mysql
fi
# yihuo 为数据库的名称
mysqldump -h localhost -uroot -p12580Yy* yihuo > /backups/mysql/yihuo_$(date +%Y%m%d).sql
#删除超过10天的数据
rm -f /backups/mysql/yihuo_$(date -d -10day +%Y%m%d).sql
exit
EOF
# 判断目录是不是已经存在,如果不存在则创建
#if [ ! -d "/backups/mysql" ]; then
# mkdir -p /backups/mysql
#fi
# 将docker中的备份的数据拷贝到宿主机上。
sudo docker cp jeecg-boot-mysql:/backups/mysql/yihuo_$(date +%Y%m%d).sql /home/backups/mysql
#删除超过10天的数据
#rm -f /home/backups/mysql/yihuo_$(date -d -10day +%Y%m%d).sql
4、ubuntu下安装定时工具(cron):
apt-get install cron
5、开启定时任务:crontab –e
6、编辑定时任务(每天晚上两点定时执行):0 2 * * * sh /home/backups/mysql/backups.sh
7、重启cron 服务:service cron restart