回首页 ◎ 设为首页  
◎ 收藏本站  
◎ 联系我们  
  首 页  网络资讯  教程资料  免费资源  建站指南  休闲娱乐  经典整站  访客留言  
  当前位置:首 页 >> 教程资料 >> 数据库和服务器 >> 一个Mysql自动备份脚本
最 新 推 荐
用PHPMyAdmin进行MySQ..推荐
网络服务器选购推荐
MYSQL出错代码列表推荐
热 门 排 行
phpMyAdmin设置方法
建立PHP的本地调试环境
用PHPMyAdmin进行MySQ..推荐
Web服务器和应用程序..
IIS服务器组建攻略
学习使用数据库MySQL
网络服务器选购推荐
站长必备的sql查询语..
windows2000+IIS+PHP5..
清空MySQL数据库的简..
防止ACCESS数据库被下..
MYSQL初学者使用指南
服务器类型
MySQL数据库基础教程
ACCESS数库转成SQL数库
MYSQL出错代码列表推荐
最 近 更 新
MySQL数据导入导出方..
MySql: 转换latin1到u..
最简便的备份MySql数..
MySQL中修改密码及访..
Word与Access数据交流..
把Access数据库移植到..
Access数据库的存储上限
用自己的电脑,做自己..
MySQL5 改密码后不能..
忘记MySQL密码的更改..
广 告 位 置
站 内 搜 索
关键词

搜索方式

搜索范围

精确匹配
一个Mysql自动备份脚本

来源:盛绿设计 等级:默认等级
发布于2006-11-16 09:51 被读33次 【字体:
可以将这个脚本放进crontab,每天凌晨执行一次,自动备份这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。 
代码: 
#!/bin/bash 
#This is a ShellScript For Auto DB Backup 
#Powered by aspbiz 
#2004-09 
#Setting 
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy 
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz 
DBName=mysql 
DBUser=root 
DBPasswd= 
BackupPath=/root/ 
LogFile=/root/db.log 
DBPath=/var/lib/mysql/ 
#BackupMethod=mysqldump 
#BackupMethod=mysqlhotcopy 
#BackupMethod=tar 
#Setting End 

NewFile=" $BackupPath"db $(date +%y%m%d).tgz 
DumpFile=" $BackupPath"db $(date +%y%m%d) 
OldFile=" $BackupPath"db $(date +%y%m%d --date=’5 days ago’).tgz 
echo "-------------------------------------------" >>  $LogFile 
echo  $(date +"%y-%m-%d %H:%M:%S") >>  $LogFile 
echo "--------------------------" >>  $LogFile 
#Delete Old File 
if [ -f  $OldFile ] 
then 
   rm -f  $OldFile >>  $LogFile 2>&1 
   echo "[ $OldFile]Delete Old File Success!" >>  $LogFile 
else 
   echo "[ $OldFile]No Old Backup File!" >>  $LogFile 
fi 
if [ -f  $NewFile ] 
then 
   echo "[ $NewFile]The Backup File is exists,Can’t Backup!" >>  $LogFile 
else 
   case  $BackupMethod in 
   mysqldump) 
      if [ -z  $DBPasswd ] 
      then 
         mysqldump -u  $DBUser --opt  $DBName >  $DumpFile 
      else 
         mysqldump -u  $DBUser -p $DBPasswd --opt  $DBName >  $DumpFile 
      fi 
      tar czvf  $NewFile  $DumpFile >>  $LogFile 2>&1 
      echo "[ $NewFile]Backup Success!" >>  $LogFile 
      rm -rf  $DumpFile 
      ;; 
   mysqlhotcopy) 
      rm -rf  $DumpFile 
      mkdir  $DumpFile 
      if [ -z  $DBPasswd ] 
      then 
         mysqlhotcopy -u  $DBUser  $DBName  $DumpFile >>  $LogFile 2>&1 
      else 
         mysqlhotcopy -u  $DBUser -p  $DBPasswd  $DBName  $DumpFile >> $LogFile 2>&1 
      fi 
      tar czvf  $NewFile  $DumpFile >>  $LogFile 2>&1 
      echo "[ $NewFile]Backup Success!" >>  $LogFile 
      rm -rf  $DumpFile 
      ;; 
   *) 
      /etc/init.d/mysqld stop >/dev/null 2>&1 
      tar czvf  $NewFile  $DBPath $DBName >>  $LogFile 2>&1 
      /etc/init.d/mysqld start >/dev/null 2>&1 
      echo "[ $NewFile]Backup Success!" >>  $LogFile 
      ;; 
   esac 
fi 
echo "-------------------------------------------" >>  $LogFile  

相关专题:暂无相关专题

上一篇:设置 MySql 数据同步
下一篇:Linux Apache Web服务器基础知识介绍

共有评论 0 条 网友评分 0分 查看全部

【发表评论】 评分:1分 2分 3分 4分 5分


Powered By Www.Xydw.COM Ver1.14 管理
Copyright © 2004-2005 盛绿设计 All Right Reserved. XCMS
冀ICP备06026128号