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

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=

 

 

 

找出消失的 Delphi 窗口 执行外部程序-Delphi资料 执行一程序并等待其结束-Delphi资料 制作一个不在任务栏及任务列表中显示的幽灵程序-Delphi资料 抓获全屏-Delphi资料 子目录级的文件查询的实现-Delphi资料 Delphi中ChartFX构件使用详解 Delphi中动画设计 Delphi中对Jpeg格式文件的处理... Delphi中多媒体组件使用解析 Direct3D起步:教程以及资源指南-Delphi资料 播放背景音乐-Delphi资料 弹出、关闭CD-ROM驱动器-Delphi资料 检测声卡存在-Delphi资料 控制声音音量-Delphi资料 让pc speaker美妙动听-Delphi资料 闪动标题栏-Delphi资料 使用 DirectX 优化声音特性-Delphi资料 修改Delphi 3图形处理中的错误 用Delphi 3.0编制MP3音乐点歌台 用Delphi编制MP3音乐点歌台 用Delphi编制趣味动画鼠标 用Delphi开发屏幕保护预览程序 用DEPHI3.0实现动画ABOUT窗口-Delphi资料 在Delphi下用Direct Sound 实现混音器组件 在Delphi中使用DirectX BDE的替代品大全(按数据库类型分)-Delphi资料 BDE的替代品大全(按应用类型分)-Delphi资料 bde的组态文件-Delphi资料 DBGrid中的下拉列表和查找字段编程方法-Delphi资料 Delphi 3.0 中 连 接 数 据 库 的 三 种 方 式 treeview的初级问题(解决立刻给分),关于节点的OnSelectedIndexChanged事件? 如何知道Clientdataset中哪些记录改变了? 如何构建Access数据库? 有没有soap client for ce 呀? 关于在不同环境下的时钟问题!!! 关于在一张图上标识位置的问题 vs.net 2003的msdn 安装好后为何不能使用? 如何在asp中post一段xml包到一个地址 vc1.0编译的问题 怎麽在Jbuilder中调用带参数的ORACLE数据库中的存储过程 如何用VB来写配置IIS的程序? 如何卸载xp? 如何知道DBGrid中当前编辑的字段的长度? 绝对经典 如何在安装程序中注册windows service,up有分!! 程序异常终止了,那么函数中的对象会被析构吗、变量空间会被归还吗 为什么能用网页打开一个url,用流读却出错,是不是端口被封了阿? 请问各位高手:关于建库后的几个疑点! 连接服务器的问题 请教:怎样将combobox选中的记录添加到数据库中呢? 简单问题,如何修改FORM中文本框中按回车后的行为。 根据名称获得页面的某些对象,以及对这些对象可以进行操作? 2.0的大灵通出现的奇怪问题,请斑竹、大虾给个说法吧 新手提问:大家帮帮忙! 连接服务器的问题 CPU有大小有不同,478和423指的是什么啊。 Tquery是可修改的,如何限制用向下键使Tquery新增一条记录,我不想有新增的功能 连接服务器的问题 在intraweb中,有关iwdbgrid数据记录的分页显视.... 如何用PB实现视频实时监控画面的传送? 本科没拿到学位的,参加在职考研,有戏吗? 请问使用ado能否创建数据库? ***** 请问局域网看电影的速度要求 ***** 触发器里一变量有多数据的问题 tomcat的启动问题 大家帮帮我,写个读文本文件的函数 关于fastReport的书那里有,书名是怎样或者在那个网站有有关fastReport的电子书可参考啊 组播的I/O处理 高手们帮忙啊,win2000锁住计算机是不能自动关机问题? 如何用JAVA实现视频实时监控画面的传送? 初学C++遇到问题,请各位老师指导一下! 问一个弱问题 高分求一个触发器,一个作业 页面url传递参数问题????急!!!!!!! null在VB里该如何表示 在组件com+控制台树中,加入另一台机器后,为什么无法访问和管理此机的com+。快疯了!!!!! xp中在“我的电脑”右键的“管理”怎么不能用了,说找不到文件‘(null)’。是怎么回事? 寻求高速公路收费系统的开发高手& SOURCE CODE SYSTEM。。。。 饼干看到我的信息能和我联系吗? 今天在工车 怎样修改LINUX的显示时间? 患"白化病"的人缺少什么元素? 某混合气体由co2和co组成,在标态下,测得该混合气体8.96L的质量为16克,求混合气体中CO2的物质的量分数 "流芳百世, 有没有人提供下163封面素材我在别人相册看到有“请勿盗图谢谢”的163封面就是这类的163相册封面 流芳百世下一句是什么 丑字加偏旁 固有免疫的一种PRR可识别不同微生物的共有结构,而适应性免疫的BCR或TCR能区分仅有一个氨基酸差异的两个几乎相同的线性的蛋白表位,各有何道理? 简便计算撒. 自然界内存在被T B细胞TCR BCR同时识别的表位吗 that you are who say you are 带轩字的成语请问谁知道什麽带轩字旳成语喔?麻烦知道旳帮帮忙,告诉皒.谢谢各位ㄋ 日本学生12万粒杏仁膏立体再现法国印调查指澳洲侨民向往亚洲 首选泰国、中澳大利亚捐精人数下降 从海外进口满足全球首辆太阳能家用车亮相 未来或大量澳大利亚警方追捕偷车贼 路过少年被无调查报告称澳移民目的地开始从欧美转向泰国国会再开赦免法案审议 政治博弈错加拿大女子相亲网站“钓男人”吃免费餐日本内阁法制局长官:日本变更宪法解释马尔代夫新总统难产 官方不满联合国指背景资料:俄乌天然气之争的背后24公司都部分停产了 钢铁化工自救《福布斯》中文版离复星而去,郭广昌的四川长虹利润突然消失5.19亿 出什锤子手机:从桀骜到乖顺,以及....iPhone6c/7c配置全曝光 A万科出牌拟定增收购资产 否认交易方是Maxell展出全新锂电池:大小相同你被骗过吗?微信发布2015年度十大你们成天发的那些弹幕,要被 B 站拍一心堂定增涨2倍还不甘心 继续计划英伦金融「白银交易日评」:欧美股市大
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘