mysql clomn_mysql 备份脚本
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 备份脚本相关推荐
- Mysql自动备份脚本
1.Mysql自动备份脚本 #!/bin/sh # 数据库基本信息 #数据库名称 DB_NAME="test" #用户名 DB_USER="root" #密码 ...
- windows mysql 备份_Windows下MySQL数据库备份脚本(二) | 系统运维
说明: MySQL数据库安装目录:C:\Program Files\MySQL\MySQL Server 5.0 MySQL数据库存放目录:C:\Program Files\MySQL\MySQL S ...
- python自动备份数据库_Python Mysql自动备份脚本
测试系统环境 Windows 2003 python 2.5.1 mysql 5.0.1 应该只适用于Win,因为调用了CMD. 增量备份,因为自用,数据库不大. 回头有了需求加上自检测,5天 ...
- mysql 自动备份脚本+自动上传
mysql自动备份脚本 OS:ubuntu 8.04.1 mysql 5.0 1.脚本mysqlbak.sh #!/bin/sh DATE=`date +%Y-%m-%d` olddate=`date ...
- MySQL自动备份脚本和ftp上传脚本
MySQL自动备份脚本,并上传ftp 在日常的工作中Mysql数据库备份是长期需要去做的一件运维工作,但是人工手动去做这一机械的动作确实必要性不高,所以写个脚本来跑是比较好的. mysql备份脚本 # ...
- Windows环境MySQL自动备份脚本
Windows环境MySQL自动备份脚本 备份需求 每个库单独一个文件 压缩备份文件 晚上23点定时备份 解决方案 创建一个MySQL备份脚本mysql_backup.bat,并在Windows任务计 ...
- linux java mysql 备份 runtime_Linux下mysql定时备份脚本以及java实现
sh脚本介绍 #!/bin/bash ####################################################### # crontab 定时备份########### ...
- mysql 增量备份脚本_MySQL自动化(全量+增量)备份脚本
一.MySQL的日常备份方案: 全备+增量备份: 1.周日凌晨三点进行全备: 2.周一到周日增量备份. 不是往常的周日全备份,周一到周六增量备份,这样如果周日数据库在完全备份前出问题,恢复完成后,会少 ...
- mysql 在线备份脚本,MySQL备份脚本
MySQL在中小型企业中广泛使用,下面的脚本可用于生产环境中的完全备份. 备份方案:每天凌晨1点30分进行完全备份,并保留30天的备份数据(可打开二进制日志,用于增量备份和恢复) 具体步骤如下: 1 ...
最新文章
- 【Spring源码】Spring中的AOP底层原理分析
- python是一门什么课程-为什么一定要让孩子学会一门编程语言?
- 澳洲中产收入水平[转]
- NS之VGG(Keras):基于Keras的VGG16实现之《复仇者联盟3》灭霸图像风格迁移设计(A Neural Algorithm of Artistic Style)
- DeepCTR-Torch,基于深度学习的CTR预测算法库
- PyCharm点击设置没反应,无法进行设置
- SpringBoot2.1.5 (5)---快速构建SpringBoot 项目的两种方式
- 中小企业用户如何选择简单进销存软件?
- Media Player Classic - HC 源代码分析 7:详细信息选项卡(CPPageFileInfoDetails)
- 网络设置管理 NetSetMan Pro v4.7.1 Lite 绿色便携版
- 脚本小子-------使用python脚本完成mysql数据库备份、恢复、查询并生成excel
- Unity 中遮挡层级
- 数据库面试题SQL篇
- 不懂代码?没关系,照样可以做SaaS软件开发
- USB服务器赋能美团数字化建设
- 简单明了的正则表达式汇总
- 供应链安全、勒索攻击、AI赋能——2022网络安全技术呈何趋势?
- 当CNN遇见Transformer!华为诺亚提出CMT:新视觉Backbone
- Linux安装NFS
- 信息安全原理与实践(第2版) [Mark Stamp 著][张戈 译] PDF完整版