backup 部署 - mysql , mongodb mysql mongo



backup

hub.htmltoo.com:5000/http:backup-20191201

卷:

/data/file:/data/file

/data/docker/mysql/backup:/home/backup

/data/file/backup:/backup

变量:

CRON_TIME = 0 3 * * *

MAX_BACKUPS = 10

INIT_BACKUP = yes


备注:

CRON_TIME:       计划任务 默认每天0点

MAX_BACKUPS:    要保留的备份数量, 如果没指定, 不限制。

INIT_BACKUP:       yes,  容器起的时候备份

ls /backup  # 查看备份列表


vi  /data/docker/mysql/backup/backup.sh

#!/bin/bash
#临时备份目录
OUT_DIR=/backup/
#获取当前系统时间
DATE=`date +%Y_%m_%d`
mkdir -p $OUT_DIR/$DATE
mysqldump -uroot -pwdqdmm@r  -hmariadb --all-databases --ignore-table=information_schema.*  --ignore-table=performance_schema.*  --ignore-table=mysql.* > $OUT_DIR/$DATE/mysql-all.sql;
mongodump -h mongo:27017 -u root -p wdqdmm@m -o $OUT_DIR/$DATE/mongo/
chmod -R 777 /backup/


vi  /data/docker/mysql/backup/mongo_restore.sh

#!/bin/bash
#临时备份目录
OUT_DIR=/backup/mongo
#获取当前系统时间
DATE=`date +%Y_%m_%d`
mongorestore  -h mongo:27017 -u root -p wdqdmm@m --drop --noIndexRestore -d admin --dir $OUT_DIR/$DATE/admin


cd /data/docker/tools/Dockerfile/backup

Dockerfile: 

FROM alpine:3.9.4
LABEL maintainer "ihunter@vip.qq.com
RUN apk update
RUN apk --update --no-cache add bash tzdata ca-certificates 
RUN apk --update --no-cache add net-tools git curl axel wget vim unzip zip geoip cmake autoconf automake libtool go gcc g++ 
RUN apk --update --no-cache add mysql-client python py-pip groff mongodb-tools gzip openssl libc-dev python-dev openldap-dev
RUN cp -r -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN pip install --upgrade awscli
RUN apk -v --purge del py-pip
RUN apk upgrade
RUN rm -rf /var/cache/apk/*
ENV CRON_TIME="0 3 * * *" 
ADD run.sh /run.sh
RUN chmod -R 777 /run.sh  
CMD /run.sh

run.sh:

#!/bin/bash
if [ -n "${INIT_BACKUP}" ]; then
    /home/backup/backup.sh
    chmod -R 777 /backup
fi
#删除几天前的备份文件
find /backup -mtime +${MAX_BACKUPS} -delete
echo "${CRON_TIME} /home/backup/backup.sh >> /backup.log 2>&1" > /crontab.conf
crontab /crontab.conf
echo "=> Running cron task manager"
exec crond -f


/data/docker/tools/Dockerfile/backup

docker build -t backup .

docker tag backup:latest hub.htmltoo.com:5000/http:backup-20191201

docker push hub.htmltoo.com:5000/http:backup-20191201


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回