使用Mysqldump进行定时全备和增备脚本
创始人
2024-02-14 04:02:25

使用mysqldump进行全备,增备是备份binlog日志   对应的一些变量按照实际环境进行修改即可,如果有更好的思路也可以进行评论交流。

配合计划任务即可完成定时备份的需求,脚本中备份文件存放目录提前创建或者在加个判断进行创建不过我觉得没啥必要。

写个计划任务每天凌晨2点进行备份操作

crontab -e

00 02 * * *  /bin/bash  /home/mysqldump.sh

vim mysqldump.sh

#!/bin/bash

#此脚本定义周一、周三、周五进行全备 周二、周四、周六、周日进行增备(备份binlog日志)

#--all-databases 备份所有数据库   --single-transaction 对事务引擎执行热备  --flush-logs 刷新日志即新建一个binlog文件

#

#定义备份用户

USER="root"

PASSWORD="Zxcvbnm@2022"

#全备存放目录

BACKUP="/home/mysqlbakup"

#定义binglog日志目录和备份存放目录

DATA_DIR="/var/log/mysql"

BACKUP_LOG="/home/mysqlbakup/mysqlbinlog/"

#备份操作记录存放日志

BAKLOG="/home/bak.log"

#定义时间变量

DATE=$(date)

LOG_TIME=`date +"%Y-%m-%d-%H:%M:%S".sql`

#LOG=$DATE.sql

#定义星期几

week=$(date |awk 'NR==1{print $4}')

num=${week}

case "$num" in

        "星期一")

        mysqldump -u${USER} -p${PASSWORD} --all-databases --single-transaction --flush-logs --master-data=2 >  ${BACKUP}/"$LOG_TIME"

        echo ""$DATE"全备完成" >> $BAKLOG

        ;;

        "星期二")

        cp -u "$DATA_DIR"/*  "$BACKUP_LOG"

        echo ""$DATE"增量备份完成" >> $BAKLOG

        ;;

        "星期三")

        mysqldump -u${USER} -p${PASSWORD} --all-databases --single-transaction --flush-logs --master-data=2 >  ${BACKUP}/"$LOG_TIME"

        echo ""$DATE"全备完成" >> $BAKLOG

        ;;

        "星期四")

        cp -u "$DATA_DIR"/*  "$BACKUP_LOG"

        echo ""$DATE"增量备份完成" >> $BAKLOG

        ;;

        "星期五")

        mysqldump -u${USER} -p${PASSWORD} --all-databases --single-transaction --flush-logs --master-data=2 >  ${BACKUP}/"$LOG_TIME"

        echo ""$DATE"全备完成" >> $BAKLOG

        ;;

        "星期六")

        cp -u "$DATA_DIR"/*  "$BACKUP_LOG"

        echo ""$DATE"增量备份完成" >> $BAKLOG

        ;;

        "星期日")

        cp -u "$DATA_DIR"/*  "$BACKUP_LOG"

        echo ""$DATE"增量备份完成" >> $BAKLOG

        ;;

esac

#此判断是为了发送备份文件到指定服务器以及清理备份文件防止占用过多磁盘

if [ $num = "星期日" ];then

        tar czf ${BACKUP}.tar  $BACKUP/   > /dev/null 2>&1 &&  scp  ${BACKUP}.tar root@192.168.11.144:/home &&  rm -rf $BACKUP/*.sql  &&  rm -rf $BACKUP_LOG/*

        echo ""$DATE"今天清理了备份文件" >> $BAKLOG

else

        echo ""$DATE"今天不进行清理操作" >> $BAKLOG

Fi

写好后可以修改服务器时间加定时任务测试一下脚本效果,修改一周所有的时间进行测试

5 11 * * *  /bin/bash  /home/mysqldump.sh

date -s "2022-11-27 11:24:58"

可以看到执行记录里的内容是成功了。 

 

 

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...