mx_kol mx_kol_django 备份这俩库

mkdir -p /disk3/backup/incremental

mkdir -p /disk3/backup/gzip

mkdir -p /disk3/backup/tar.gzdb

mkdir -p /disk3/backup/full

mkdir -p /disk3/backup/config

touch config

vim config

backup_full=

backup_pre_name=

!/bin/bash

日期转为天数

function date2days {

echo "$" | awk '{

z=int((14-$2)/12); y=$1+4800-z; m=$2+12z-3;

j=int((153m+2)/5)+$3+y365+int(y/4)-int(y/100)+int(y/400)-2472633;

print j

}'

}

说明:脚本执行策略为每天执行一次,执行前需要先建立config文件,并在config文件

中添加

backup_full=

backup_pre_name=

即可,注意路径。

备份策略,每七天一个循环,第一天为全备份,第二天至第六天为增量备份。

后续会增加已备份文件压缩转移定期删除部分

#######################

db_user="root"

db_passwd="%~ISkJHGAd%ZDdp"

db_defaults_file="/disk1/mysql/my.cnf"

db_socket="/disk1/mysql/mysql.sock"

db_backup="/disk3/backup/"

db_backup_fulldir="/disk3/backup/full/"

db_backup_incrementaldir="/disk3/backup/incremental/"

db_backup_gzfull="/disk3/backup/gzip/"

db_backup_tarfull="/disk3/backup/tar.gzdb/"

rm_num=7

用于压缩并转移源文件

move_and_tar (){

if [ $# != 1 ]; then

echo "参数不正确"

exit 0

fi

time_rm=date -d "$1 days ago" +"back_%d-%m-%Y"

if [ $1 -eq 7 ]; then

if [ -d ${db_backup_fulldir}${time_rm} ]; then

su - root -c "tar -czPvf ${db_backup_tarfull}${time_rm}_full.tar.gz ${db_backup_fulldir}${time_rm}"

su - root -c "rm -rf ${db_backup_fulldir}${time_rm}"

echo "压缩目录rm $db_backup_fulldir${time_rm}" >>/disk3/backup/config/tar.log

fi

fi

if [ $1 -gt 0 -a $1 -lt 7 ]; then

if [ -d $db_backup_incrementaldir${time_rm} ]; then

su - root -c "tar -czPvf ${db_backup_tarfull}${time_rm}_increment.tar.gz ${db_backup_incrementaldir}${time_rm}"

su - root -c "rm -rf ${db_backup_incrementaldir}${time_rm}"

echo "压缩目录rm $db_backup_incrementaldir${time_rm}" >>/disk3/backup/config/tar.log

fi

fi

}

得到当前时间和配置文件

time="$(date +"back_%d-%m-%Y")"

source /disk3/backup/config/config

计算今天到上次全备份相隔天数

_Day=$(date2days echo ${backup_full:5:10}|awk 'BEGIN{FS="-"}{print $3,$2,$1}')

Day=$(date2days date +"%Y %m %d")

echo $_Day

echo $Day

let result=$Day-$_Day

echo "相差$result天"

if [ -z ${backup_full} ] || [ $result -ge 7 ] ; then

todo

echo '全备份'

backup_full=${time}

innobackupex --defaults-file=$db_defaults_file --no-timestamp --user=${db_user} --password=${db_passwd} --databases="mx_kol mx_kol_django" --no-lock --socket=$db_socket ${db_backup_fulldir}${backup_full}/

if [ $? -eq 0 ]; then

echo "${time} 备份成功!!!" >> /disk3/backup/config/results.log

else

echo "${time} 备份失败???" >> /disk3/backup/config/results.log

fi

更新配置文件

echo "backup_full=${backup_full}" >/disk3/backup/config/config

echo "backup_pre_name=full/${backup_full}" >>/disk3/backup/config/config

自动删除两周以前的备份文件

while [ ${rm_num} -lt 8 -a ${rm_num} -gt 0 ]

do

move_and_tar ${rm_num}

rm_num=expr ${rm_num} - 1

done

echo '全备份'

else

todo

echo '增量备份'

innobackupex --defaults-file=$db_defaults_file --socket=$db_socket --no-timestamp --user=${db_user} --password=${db_passwd} --databases="mx_kol mx_kol_django" --no-lock --incremental ${db_backup_incrementaldir}${time}/ --incremental-basedir=${db_backup}${backup_pre_name}

if [ $? -eq 0 ]; then

echo "${time} 增量备份成功!!!" >> /disk3/backup/config/results.log

else

echo "${time} 增量备份失败???" >> /disk3/backup/config/results.log

fi

更新配置文件

echo "backup_full=${backup_full}" >/disk3/backup/config/config

echo "backup_pre_name=incremental/${time}" >>/disk3/backup/config/config

echo '增量备份'

fi

mysql_backup at 2017_10_10

00 00 * * * /home/zzg/coopinion/scripts/mysql_backup.sh

mysql clomn_mysql 备份脚本相关推荐

  1. Mysql自动备份脚本

    1.Mysql自动备份脚本 #!/bin/sh # 数据库基本信息 #数据库名称 DB_NAME="test" #用户名 DB_USER="root" #密码 ...

  2. windows mysql 备份_Windows下MySQL数据库备份脚本(二) | 系统运维

    说明: MySQL数据库安装目录:C:\Program Files\MySQL\MySQL Server 5.0 MySQL数据库存放目录:C:\Program Files\MySQL\MySQL S ...

  3. python自动备份数据库_Python Mysql自动备份脚本

    测试系统环境  Windows 2003   python 2.5.1  mysql 5.0.1 应该只适用于Win,因为调用了CMD. 增量备份,因为自用,数据库不大. 回头有了需求加上自检测,5天 ...

  4. mysql 自动备份脚本+自动上传

    mysql自动备份脚本 OS:ubuntu 8.04.1 mysql 5.0 1.脚本mysqlbak.sh #!/bin/sh DATE=`date +%Y-%m-%d` olddate=`date ...

  5. MySQL自动备份脚本和ftp上传脚本

    MySQL自动备份脚本,并上传ftp 在日常的工作中Mysql数据库备份是长期需要去做的一件运维工作,但是人工手动去做这一机械的动作确实必要性不高,所以写个脚本来跑是比较好的. mysql备份脚本 # ...

  6. Windows环境MySQL自动备份脚本

    Windows环境MySQL自动备份脚本 备份需求 每个库单独一个文件 压缩备份文件 晚上23点定时备份 解决方案 创建一个MySQL备份脚本mysql_backup.bat,并在Windows任务计 ...

  7. linux java mysql 备份 runtime_Linux下mysql定时备份脚本以及java实现

    sh脚本介绍 #!/bin/bash ####################################################### # crontab 定时备份########### ...

  8. mysql 增量备份脚本_MySQL自动化(全量+增量)备份脚本

    一.MySQL的日常备份方案: 全备+增量备份: 1.周日凌晨三点进行全备: 2.周一到周日增量备份. 不是往常的周日全备份,周一到周六增量备份,这样如果周日数据库在完全备份前出问题,恢复完成后,会少 ...

  9. mysql 在线备份脚本,MySQL备份脚本

    MySQL在中小型企业中广泛使用,下面的脚本可用于生产环境中的完全备份. 备份方案:每天凌晨1点30分进行完全备份,并保留30天的备份数据(可打开二进制日志,用于增量备份和恢复) 具体步骤如下: 1 ...

最新文章

  1. 【Spring源码】Spring中的AOP底层原理分析
  2. python是一门什么课程-为什么一定要让孩子学会一门编程语言?
  3. 澳洲中产收入水平[转]
  4. NS之VGG(Keras):基于Keras的VGG16实现之《复仇者联盟3》灭霸图像风格迁移设计(A Neural Algorithm of Artistic Style)
  5. DeepCTR-Torch,基于深度学习的CTR预测算法库
  6. PyCharm点击设置没反应,无法进行设置
  7. SpringBoot2.1.5 (5)---快速构建SpringBoot 项目的两种方式
  8. 中小企业用户如何选择简单进销存软件?
  9. Media Player Classic - HC 源代码分析 7:详细信息选项卡(CPPageFileInfoDetails)
  10. 网络设置管理 NetSetMan Pro v4.7.1 Lite 绿色便携版
  11. 脚本小子-------使用python脚本完成mysql数据库备份、恢复、查询并生成excel
  12. Unity 中遮挡层级
  13. 数据库面试题SQL篇
  14. 不懂代码?没关系,照样可以做SaaS软件开发
  15. USB服务器赋能美团数字化建设
  16. 简单明了的正则表达式汇总
  17. 供应链安全、勒索攻击、AI赋能——2022网络安全技术呈何趋势?
  18. 当CNN遇见Transformer!华为诺亚提出CMT:新视觉Backbone
  19. Linux安装NFS
  20. 信息安全原理与实践(第2版) [Mark Stamp 著][张戈 译] PDF完整版

热门文章

  1. POJ1190 生日蛋糕
  2. 用css3简单实现进度条
  3. 下一代防火墙NGFW解读
  4. 活用"端口碰撞技术"---远程管理的好方式
  5. 比特币现金vs莱特币,谁将夺得小额支付市场?
  6. 【Flutter】遇见错误
  7. Web 开发最有用的 jQuery 插件集锦
  8. git clone的时候报error: RPC failed; result=18错误
  9. JavaScript 权威指南笔记 - 可选的分号
  10. 师生对话:我们都曾是爱学习的孩子