docker安装mysql进行数据库备份

       之前使用mysql是通过宝塔应用商城进行安装的,就通过宝塔中的定时脚本任务进行定期备份处理,备份完成后又将备份的sql文件传输到另一个服务器,进行双备处理,以防服务出现故障,导致线上业务出现问题。

        最近通过docker进行安装数据库的,所以又换了个备份的方法,首先先进入docker容器中

执行的是:

docker exec -it 容器ID /bin/bash

进入容器ID后,又通过mysqldump进行指定数据库进行备份处理,下面语句是进行备份处理的语句,其中路径/va/lib/myslq是容器备份的路径,又由于容器与宿主机进行磁盘路径映射处理,将备份的路径与宿主机下的某一路径进行映射处理,备份完成后,在宿主机磁盘路径下也可以看到备份的文件。

mysqldump -u 用户名 -p tt > /var/lib/mysql/tt_$(date +%Y%m%d_%H%M%S).sql

执行脚本

echo '开始备份数据'

now=$(date "+%Y%m%d")
backup_dir="/data/back_up"

#获取容器id
mysqlid=`docker ps -aqf "name=hardcore_herschel"`

#进入mysql容器
docker exec -i ${mysqlid} /bin/bash<<'EOF'

#mysqldump导出表结构和数据
if [ ! -d "/backup" ]; then
    mkdir -p /backup
fi

if [ -f "/backup/db.sql" ]; then
    rm -rf /backup/db.sql
fi
mysqldump -uroot -p --password=  tt > /var/lib/mysql/tt_$(date +%Y%m%d_%H%M%S).sql

echo '成功制作备份sql'

if [ $? -ne 0 ]; then
    echo 'mysqldump运行失败'
    exit
    EOF
fi

exit

EOF
 

添加定时

crontab -e

添加定时脚本

*/5 * * * * cd /home; sh demo.sh >> back_task.log 2 >>back_task.log

查看列表

crontab -l

删除

crontab -r

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值