说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

MySQL备份脚本大全

HTML文档下载 WORD文档下载 PDF文档下载
1、linux环境下的备份脚本2、linux环境下带邮件通知的备份脚本3、linux环境下压缩备份文件4、linux环境下的热备份5、windows环境下的离线备份6、windows平台完备的mysql定时备份脚本

 

1、linux环境下的备份脚本

2、linux环境下带邮件通知的备份脚本

3、linux环境下压缩备份文件

4、linux环境下的热备份

5、windows环境下的离线备份

6、windows平台完备的mysql定时备份脚本

 

1、linux环境下的备份脚本

 

##########################################################################mysqldump####################################################!/bin/sh# mysql_backup.sh: backup mysql databases and keep newest 5 days backup.# -----------------------------db_user="root"db_passwd="linuxtone"db_host="localhost"# the directory for story your backup file.backup_dir="/backup"# date format for backup file (dd-mm-yyyy)time="$(date +"%d-%m-%Y")"# mysql, mysqldump and some other bin's pathMYSQL="$(which mysql)"MYSQLDUMP="$(which mysqldump)"MKDIR="$(which mkdir)"RM="$(which rm)"MV="$(which mv)"GZIP="$(which gzip)"#针对不同系统,如果环境变量都有。可以去掉# check the directory for store backup is writeabletest ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0# the directory for story the newest backuptest ! -d "$backup_dir" && $MKDIR "$backup_dir"# get all databasesfor db in cdn cdn_viewdo        $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | $GZIP -9 > "$backup_dir/$time.$db.gz"done#delete the oldest backup 30 days agofind $backup_dir -name "*.gz" -mtime +30 |xargs rm -rfexit 0;

 

2、linux环境下带邮件通知的备份脚本

 

#############################################################################带邮件通知的mysqldump######################################!/bin/sh# Name:mysqlFullBackup.sh# PS:MySQL DataBase Full Backup.# Write by:i.Stone# Last Modify:2008-9-17## Use mysqldump --help get more detail.#scriptsDir=`pwd`mysqlDir=/usr/local/mysql ?user=rootuserPWD=111111dataBackupDir=/tmp/mysqlbackupeMailFile=$dataBackupDir/email.txteMail=liuyu@sohu.comlogFile=$dataBackupDir/mysqlbackup.logDATE=`date -I`echo "" > $eMailFileecho $(date +"%y-%m-%d %H:%M:%S") >> $eMailFilecd $dataBackupDirdumpFile=mysql_$DATE.sqlGZDumpFile=mysql_$DATE.sql.tar.gz$mysqlDir/bin/mysqldump -u$user -p$userPWD --opt --default-character-set=utf8 --extended-insert=false --triggers -R --hex-blob --all-databases --flush-logs --delete-master-logs --delete-master-logs -x > $dumpFileif [[ $? == 0 ]]; then  tar czf $GZDumpFile $dumpFile >> $eMailFile 2>&1  echo "BackupFileName:$GZDumpFile" >> $eMailFile  echo "DataBase Backup Success!" >> $eMailFile  rm -f $dumpFile# Delete daily backup files.  cd $dataBackupDir/daily  rm -f *# Delete old backup files(mtime>2).  $scriptsDir/rmBackup.sh# Move Backup Files To Backup Server.  $scriptsDir/rsyncBackup.sh     if (( !$? )); then      echo "Move Backup Files To Backup Server Success!" >> $eMailFile    else      echo "Move Backup Files To Backup Server Fail!" >> $eMailFile    fielse  echo "DataBase Backup Fail!" >> $emailFilefiecho "--------------------------------------------------------" >> $logFilecat $eMailFile >> $logFilecat $eMailFile | mail -s "MySQL Backup" $eMail

 

 

 

3、linux环境下压缩备份文件

 

 

################################################################################## tar ################################################!/bin/bash#15 3 * * * /usr/local/sbin/backup.sh#backup directoryBAK_DIR=/data/db_backupTAR="/bin/tar"TAR_FLAG="czvf"#BAKupif [ ! -d $BAK_DIR ];then          mkdir -p $BAK_DIRfiCOMM="$TAR $TAR_FLAG $BAK_DIR/linuxtone-`date +%Y%m%d`.tar.gz linuxtone/"cd /data/mysql/dataeval $COMMfind $BAK_DIR -name "linuxtone-*.tar.gz" -mtime +30 |xargs rm -rf

 

 

 

4、linux环境下的热备份

 

 

######################################################################################mysqlhotcopy#####################################!/bin/shDBS=`du /var/lib/mysql/linuxtone/ | awk '{ printf $1 }'`DFS=`df /myhotco | grep myhotco | awk '{ printf $3}'`let "DBS = $DBS / 1024" let "DFS = $DFS / 1024"# more than 100M free space upif [ `expr $DBS + 100` -lt $DFS ] ; then  echo "run mysqlhotcopy ( `expr $DFS - $DBS` ) ..."  /usr/bin/mysqlhotcopy linuxtone --allowold --flushlog /myhotco fi

 

 

 

5、windows环境下的离线备份

 

net stop mysqlxcopy E:\MySQL\Data\www.okbase.net\*.* D:\bak\www.okbase.net\%date:~0,10%\ /ynet start mysql

 

 

6、windows平台完备的mysql定时备份脚本

 

@echo offclscolor 1Etitle %date% %time:~,8% 备份MYSQL数据库 BY:REKFAN::::::::::::::::::::::::以下是需要配置的参数::::::::::::::::::::::::        rem 设置 MySql服务器root账号的密码,特殊符号需要在其前添加两个^,如!、>、|、^、&、* 等        SET MySql_pw=mysql 的root密码        rem 设置 数据库备份目录        SET BAK_Dir=f:db_bak        rem 设置 需要备份的myisam格式数据库,多数据库用逗号分隔        SET BAK_db_myisam=myisam_db1,myisam_db2,myisam_db3        rem 设置 需要备份的innodb格式数据库,多数据库用逗号分隔        SET BAK_db_innodb=innodb_1,innodb_2,innodb_3        rem 设置 自动删除几天的备份,0为删除所有,慎用        SET Bak_Time_ago=5        rem 设置 WinRAR压缩软件的路径        SET RAR_Dir="C:Program FilesWinRARWinRAR.exe"        rem 设置 以2001-01-01格式的日期为子目录(不必修改)        SET BAK_Dir2=%date:~0,4%-%date:~5,2%-%date:~8,2%        rem 设置 备份文件名        SET BAK_FILE=%%i_%BAK_Dir2%.sql        rem 设置 日志文件名        SET LOG_FILE=%BAK_Dir%%BAK_Dir2%MY_DBBAK.log::::::::::::::::::::::::以上是需要配置的参数::::::::::::::::::::::::echo. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡echo. ┃                                                                   ┃echo. ┃                   欢迎使用Mysql自动备份批处理                     ┃echo. ┃           本代码由rekfan编写 Http://blog.rekfan.com               ┃echo. ┃                                                                   ┃echo. ┃  …………………………………………………………………………………… ┃echo. ┃ 关于本脚本                                                        ┃echo. ┃ ::本脚本只需自定义MySql_pw、BAK_Dir、Bak_Time_ago、RAR_Dir的值    ┃echo. ┃ ::本脚本调用了临时VBS代码进行日期计算                             ┃echo. ┃ ::本脚本为兼容不同的日期格式,调用reg命令,统一设置日期格式        ┃echo. ┃ ::本脚本自动生成数据库.sql脚本,并自动压缩为.rar文件              ┃echo. ┃ ::本脚本自动生成日志文件在x:xxxx000-00-00MY_DBBAK.log         ┃echo. ┃ ::本脚本数据库备份路径为x:xxxx000-00-00数据库名_0000-00-00.rar┃echo. ┃ ::本脚本如果想放在windows计划任务里执行,请去掉脚本里的所有pause   ┃echo. ┃ ::因每个服务器的Mysql环境不一样,备份的核心语句自行更改            ┃echo. ┃ ::本脚本没有版权,可以任意改为自己想要的效果,转载请勿删除该注释语句┃echo. ┃                                          By REKFAN 2011-10-14     ┃echo. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡echo.if not defined MySql_pw (echo MySql_pw 尚未定义!)if not defined BAK_Dir (echo BAK_Dir 尚未定义!)if not defined Bak_Time_ago (echo Bak_Time_ago 尚未定义!)if not defined RAR_Dir (echo RAR_Dir 尚未定义!):: 取得当前计算机时间,以 yyyy-MM-dd 格式显示for /f "skip=2 delims=" %%a in ('reg query "HKEY_CURRENT_USERControl PanelInternational" /v sShortDate') do (SET RegDateOld=%%a)SET RegDateOld=%RegDateOld:~-8%::通过改变注册表改变计算机的日期格式reg add "HKEY_CURRENT_USERControl PanelInternational" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul>"%temp%DstDate.vbs" echo LastDate=date()-%Bak_Time_ago%>>"%temp%DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)>>"%temp%DstDate.vbs" echo wscript.echo FmtDatefor /f %%a in ('cscript /nologo "%temp%DstDate.vbs"') do (SET DstDate=%%a)::删除指定时间前的备份SETlocal enabledelayedexpansionecho. 删除 %BAK_Dir2%〔%Bak_Time_ago%〕天前的备份文件for /f "delims= " %%i in ('dir /ad/b %BAK_Dir%????-??-??') do (SET t1=%%iSET t2=!t1:~0,4!!t1:~5,2!!t1:~8,2!if /i !t2! leq %DstDate% (DEL /F /A /Q \?%BAK_Dir%!t1!*.*rd /q /s \?%BAK_Dir%!t1!echo. 备份文件夹%BAK_Dir%!t1!删除完成!)):: 还原计算机注册表的日期格式reg add "HKEY_CURRENT_USERControl PanelInternational" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nulecho. echo. 开始以当前日期创建文件夹if not exist %BAK_Dir%%BAK_Dir2% md %BAK_Dir%%BAK_Dir2%cd /d %BAK_Dir%%BAK_Dir2%echo. 开始建立今天(%BAK_Dir2%)的备份:: 记录时间日志echo 备份时间:%BAK_Dir2% %time:~0,8%  >> %LOG_FILE%echo /++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> %LOG_FILE%:: 备份的核心代码if not defined BAK_db_myisam (goto innodb)SetLocal DisableDelayedExpansionfor %%i in (%BAK_db_myisam%) do (mysqldump -hlocalhost -uroot -p%MySql_pw% --default-character-set=GB2312 -R --triggers --hex-blob -x %%i >%BAK_FILE%rem 以上的参数根据自己的需求更改,部分参数方法请看 http://blog.rekfan.com/?p=57%RAR_Dir% a %BAK_FILE:~0,-4%.rar %BAK_FILE%DEL /F /A /Q %BAK_FILE%echo 数据库【%%i】 已经备份到%BAK_Dir%%BAK_Dir2%%BAK_FILE%.rar >> %LOG_FILE%):innodbif not defined BAK_db_innodb (goto exitbat)echo. 开始以当前日期创建文件夹if not exist %BAK_Dir%%BAK_Dir2% md %BAK_Dir%%BAK_Dir2%cd /d %BAK_Dir%%BAK_Dir2%echo. 开始建立今天(%BAK_Dir2%)的备份SetLocal DisableDelayedExpansionfor %%i in (%BAK_db_innodb%) do (mysqldump -hlocalhost -uroot -p%MySql_pw% --default-character-set=GB2312 -R --triggers --hex-blob --single-transaction -B %%i >%BAK_FILE% %RAR_Dir% a %BAK_FILE:~0,-4%.rar %BAK_FILE%DEL /F /A /Q %BAK_FILE%echo 数据库【%%i】 已经备份到%BAK_Dir%%BAK_Dir2%%BAK_FILE%.rar >> %LOG_FILE%):exitbatecho ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/ >> %LOG_FILE%echo. 所有备份建立完毕:: 清除变量        SET MySql_pw=        SET BAK_Dir=        SET Bak_Time_ago=        SET RAR_Dir=        SET BAK_Dir2=        SET BAK_FILE=        SET LOG_FILE=

 

 

 

把ES6带进Node社区 Io.js 1.0.0正式发布 Java 2014:10个最热门、最具争议性的话题 回顾:2014年最流行前端开发框架对比评测 实例讲解SQL注入攻击 调试大规模服务器集群的五大策略 .NET编译平台Rosly将迁移到Github Wasai虚拟现实头盔与体验馆发布:虚拟现实的线下经济 订票系统不再瘫痪 阿里云确认与12306合作 Apple前工程师Warren Moore:Swift中Metal使用初体验 手把手教学:详解Swift中的iOS设计模式 见微知著,那些触动人心的应用细节设计(一) 设计优秀API七大要诀 需求 细节 BI项目成功的五大要素 BI项目成功的五大要诀 最受程序员欢迎的公司榜单发布:2015 IT人才招聘趋势分析 Swift中的指针操作及使用 Android性能优化典范 专访Google涂鸦首席设计师Ryan Germick:为什么世界需要Doodle? 不炒作就会死!小米乐视生态布局的那些爱恨情仇 100个iOS开发/设计面试题汇总,你将如何作答? 王巍:关于Swift学习和Apple Watch开发的一些建议 微软发全息影像头戴装置HoloLens 体验很真实 相爱相杀?盘点迎新年的移动互联网撕逼大战 HealthKit开发教程:用Swift编写个健康应用! 真的不够用!Apple Watch常规使用续航3.5小时 Activiti实战 百度BAE携手科技寺助力应用一站式部署 不仅仅是高速传输,Qualcomm演示骁龙810处理器功能 利用JS高效开发原生游戏 Cocos 2d-JS中文版API文档正式上线 同行代码审查实战分析 在Swift中使用JavaScript的方法和技巧 请教有关IE5带的ActiveX控件Dhtmled.ocx的98下安装问题 程序员与高级程序员到底那个好过 关于 delphi的一点东东 access一个日期时间字段是短格式的,用什么SQL语句改成长格式的? 怎样才能在主页中显示自己的qq是否在线?????? 有没有平面按钮控件 Interdev6.0 IDE 环境下无法使用MSDN access一个日期时间字段是短格式的,用什么SQL语句改成长格式的?? 大家来帮帮我想想?应该怎么样来删除呢!!!! 各位用VB.net的兄弟,请问你们使得是 Beta1 还是 Beta2 ? 迷周星弛的请来签名啊! 如何操纵RichTextEdit控件??? 我得到GIF图像的这一点的值,怎样得到它的正确的RGB值? 我想请问在CHTML(compact html)中如何对页面进行刷新。 各位老大,你们是如何找到工作的? 在VB.net中,如何实现VB6中的 set A=createobject("XXXX.XXXX") 诸位大虾救命,如何在EDIT控件中判断DBCS字符 !!求救!!对时!!! 在VC中使用Crystal report 8的问题 如何编写c程序自动对GIF图片设置大小 请教:鼠标在windows桌面上按键是否会引发某个事件? 查看DLL的输出函数 menu的问题 web的组件由什么来编写? 嵌入式数据窗口,怎样可以动态往里插数据窗口??? 在DELPHI中如何调用NETBIOS的API函数 AddNew 怎么用?- 怎么办那,啊? 问题标题前的绿色的对号是什么意思?是不是表示问题已经解决? 怎么学VC啊,菜鸟的菜菜的问题啊。 关于打印比较 提取汉字的拼音 四级挂了,给分,气死了 难题时时有,把它问诸位,不知哪位高手,今日肯帮俺------解决送个人照片(不知各位肯要否?) 刚考完英语四级,来这里发泄一下。同时送上300分! PHP和JAVA如何通讯? 请问哪里有 soft-ice for 2k 如何将字符串的首尾空格去掉??? 1分钟求解:与HEX()对应的把16进制转换成10进制的函数是什么? 怎样判断某个控件是button、edit还是combox、listctrl......? VB.NET(VS.NET)/Beta2正式版下载地址与安装方法 有人用VsPrint吗? delphi、vc、c++ builder三者,哪一种是你的最终选择,why? 第一次上来灌,宋粉 关于C编译后的几个文件后缀名. 请教各位,主要用于办公和工程预决算,用AMD的Duron+km133(集成savage4)行吗? delphi、c++ builder、vc三者,哪一种是你的最终选择,why? 程序结束时,窗体和内存的释放问题 c++ builder、delphi、vc三者,哪一种是你的最终选择,why? 唉,牙齿好疼 高分求语音系统算法! 解方程 8.8x-2.4x=3.2 4.6x+5.4x=10.89 3(x+1.解方程8.8x-2.4x=3.24.6x+5.4x=10.893(x+1.7)=9.6(x-4.5)6=31.8 关于x的方程4x-a²x=2-a有无数解那么a=? 若方程组3x+y=1+3a,x+3y=1-a的解满足x+y=0,求a的取值 求1/5X+1/4X=1/5X+8+1/5X方程的解法 x-5分之2+4分之一等于八分之五,方程怎么解? a若方程组{3x+y=1+3a x+3y=1-a的解满足x+y>0,则a的取值范围是( ) 求(4x-10)=5/7(5x-8)的详细解法,要小学水平,谢谢! 八分之七x等于六分之一乘八分之五 已知方程组3x-4y=3a-6,x+3y=2a+7的解x,y都是正数,且x的值大于y的值,求a的取值范围 5X的方+4X-2=09999X的方+2X-1=0,已知X的方+X-1=0,则X的三次方+2X的方+2005=?(m^2-1)x^2+mx+1/4=0 X*8%+(60-X)*9%=5 求解这个方程 得数等于40 已知2x+3y=a+2,且3x-4y=3a-1,若XY =0,求a的取值范围 .不是xy=0。应该是xy>=0。 4x+2.5x*(x十0.85)=13.5 方程的解 (x+2+x)×5÷2=40 这个方程怎么算 方程4(3-2x)+3a+2=7-4a-3(x-5)的解不比2a+1小,求a的取值范围 若-2^2+5x-2>0,√4X^2-4X+1+2|x-2|=? 方程 1+40%x=4分之5(要过程) 已知关于x的方程4(3-2x)+3a+2=7-4a-3(x-5)的解不小于2a+1,求a的取值范围kkkkk 4X-3=5X+6紧急! X的2倍与9的和等于-3,方程是 已知关于X的方程4(3—2X)+3a+1=5—4a+3(X—5)的解不比2a—1小,求a的取值范围? -3- (6+5x)= -4x+1 十x-3等于9方程式求解答 已知方程4(3-2x)+3a+2=7-4a-3(x-5)的解不比2a+1小,求a的取值范围 若方程kx2-4x+3+0是关于x的方程,且有实根,则K的非负整数值为? 一个数的二分之一比这个数的25%多10.这个数是多少?方程解 已知关于X的方程3a+x=a\2x+3的解为x=4,求a-2a+3a-4a+5a-6a+ +99a-100a的值 若关于x的一元二次方程kx2+4x+3=0有实数根,则k的非负整数值是 根据下列条件列出方程:一个数的5倍比这个数大10;一个数的5倍与9的差等于这个数的一半;某数比它的7倍小2一个数与4的和的3倍比这个数大5 已知关于x的方程4(x+2)-2=5+3a的解不小于方程(3a+1)/3=a(2x+3)/2的解,求a的取值范围. 【QUICKLY】当k取什么值时,关于x的方程kx2+4x-2=0只有正实数根?.应该很简单的 只可惜ME思维短路1.当k取什么值时,关于x的方程kx2+4x-2=0只有正实数根?kx2乃kx的平方! 10分之3和5分之1的和等于一个数的4分之3,求这个数.(用方程解) 写题即可计划产量:实际产量:24吨(比计划增产3分之1)甲,乙,丙各有若干张邮票,甲的邮票是乙的3分之2,乙的邮票是丙的4分 已知关于x的方程3(x+2)-2=7+3a的值不大于(5a+1)/5 x=(2x+3)a/2的解,求a的取值范围 若关于x的方程k(x^2)-4x+3=0有实数根,则k的非负整数值是?过程写下 10/9X-66=6/1X 这个方程怎么解? 已知关于x的方程ax^2-(2a+1)x+3-3a=0的解都大于1,则a的取值范围是答案是0≤a<0.5老师是用△≥0,韦达定理做的 当k是什么整数是,关于x的方程kx2+4x+12=0与x2-2kx+k2-7k-16=0的根都是整数 x-5/1x=10/7这个方程式怎么解 如果关于x的方程3(x+4)-4=2a+1的解大于方程4a+1/4 x=a(3x-4)/3的解,求a 的取值范围 已知方程4x-3m=x-6m+1的解在1和负1之间则满足条件的整数值为( ) 顺便分析下 方程10.1X加38.6=54.3加9.55怎么解 已知关于x的方程:4(x+2)-2=5+3a的解不小于方程(3a+1)x/3=a(2x+3)/2的解,求a的取值范围. 若方程X^2-4X+3M=0,与X^2-X-6M=0有一个根相同,求M 3分之2x÷5分之3=15 解方程 x+4分之1x=7.5 已知方程2/3x-3k=5(x-k)+1的解为非负数,求k的取值范围 已知关于x的方程4x-3m=2的解x=m,则m的值是 若关于x的方程x+2=a和2x-a=3a有相同的解,求a(1/2)某学校在援助边远山区活动中,原计划捐书3000册,由于学生的积极响应,实际捐书3780册,其中初中部比原计划多捐了20%.高中部比原计(2/2)划多捐 关于x的方程2/3x=5(x-k)+3k+1的解是负数,求k的取值范围. 已知关于x的方程4x-3m=2的解是x=m,则m的值是 关于x的方程2x-3a=1的解是x=a,则a=? 已知关于X·y的方程组2x+y=2k+1 3x-2y=k-1的解满足x-3y<5求k的取值范围 怎么算 已知关于x的方程4x-3m=2的解是x=-m,则m的值为( ). 诺关于X的方程x+2=A和2X-4=3A有相同的解,则A=?急 当K为何值时,方程组3x-y=2k和x+2y=3k-14的X、Y互为相反数? 方程5(x-1)²+4x=0 求b²-4ac 已知方程组2x-3y=2-3a,3x-4y=2a-1的解满足x>0,y 已知关于x,y的方程组 2x+y=2k+1,3x-2y=3k-9的解满足x小于y,求k的范围. 方程x²+4x+1=0的根是 已知方程组{2x-4y=2-3a 3x-4y=2a+1 的解满足{x>0 y 已知二次方程3x²-(2a-5)x-3a-1=0有一个根为x=2,求另一个根并确定a的值
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn