免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 75488 | 回复: 124
打印 上一主题 下一主题

一个Mysql自动备份脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-04 01:00 |只看该作者 |倒序浏览
写了一个Mysql备份的脚本,大家看看,有什么不妥地方。

这是我写的第一个Shell脚本,大家帮忙看看,

有谁需要的,我可以发给他。

可以将这个脚本放进crontab,每天凌晨执行一次,自动备份

这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。



  1. #!/bin/bash
  2. #This is a ShellScript For Auto DB Backup
  3. #Powered by aspbiz
  4. #2004-09

  5. #Setting
  6. #设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
  7. #默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
  8. #默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
  9. DBName=mysql
  10. DBUser=root
  11. DBPasswd=
  12. BackupPath=/root/
  13. LogFile=/root/db.log
  14. DBPath=/var/lib/mysql/
  15. #BackupMethod=mysqldump
  16. #BackupMethod=mysqlhotcopy
  17. #BackupMethod=tar
  18. #Setting End


  19. NewFile="$BackupPath"db$(date +%y%m%d).tgz
  20. DumpFile="$BackupPath"db$(date +%y%m%d)
  21. OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz

  22. echo "-------------------------------------------" >;>; $LogFile
  23. echo $(date +"%y-%m-%d %H:%M:%S") >;>; $LogFile
  24. echo "--------------------------" >;>; $LogFile
  25. #Delete Old File
  26. if [ -f $OldFile ]
  27. then
  28.    rm -f $OldFile >;>; $LogFile 2>;&1
  29.    echo "[$OldFile]Delete Old File Success!" >;>; $LogFile
  30. else
  31.    echo "[$OldFile]No Old Backup File!" >;>; $LogFile
  32. fi

  33. if [ -f $NewFile ]
  34. then
  35.    echo "[$NewFile]The Backup File is exists,Can't Backup!" >;>; $LogFile
  36. else
  37.    case $BackupMethod in
  38.    mysqldump)
  39.       if [ -z $DBPasswd ]
  40.       then
  41.          mysqldump -u $DBUser --opt $DBName >; $DumpFile
  42.       else
  43.          mysqldump -u $DBUser -p$DBPasswd --opt $DBName >; $DumpFile
  44.       fi
  45.       tar czvf $NewFile $DumpFile >;>; $LogFile 2>;&1
  46.       echo "[$NewFile]Backup Success!" >;>; $LogFile
  47.       rm -rf $DumpFile
  48.       ;;
  49.    mysqlhotcopy)
  50.       rm -rf $DumpFile
  51.       mkdir $DumpFile
  52.       if [ -z $DBPasswd ]
  53.       then
  54.          mysqlhotcopy -u $DBUser $DBName $DumpFile >;>; $LogFile 2>;&1
  55.       else
  56.          mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >;>;$LogFile 2>;&1
  57.       fi
  58.       tar czvf $NewFile $DumpFile >;>; $LogFile 2>;&1
  59.       echo "[$NewFile]Backup Success!" >;>; $LogFile
  60.       rm -rf $DumpFile
  61.       ;;
  62.    *)
  63.       /etc/init.d/mysqld stop >;/dev/null 2>;&1
  64.       tar czvf $NewFile $DBPath$DBName >;>; $LogFile 2>;&1
  65.       /etc/init.d/mysqld start >;/dev/null 2>;&1
  66.       echo "[$NewFile]Backup Success!" >;>; $LogFile
  67.       ;;
  68.    esac
  69. fi

  70. echo "-------------------------------------------" >;>; $LogFile


复制代码

论坛徽章:
0
2 [报告]
发表于 2004-10-05 20:05 |只看该作者

一个Mysql自动备份脚本

大家看看呀,

一个自动备份的脚本,支持多种备份方式,自动翻转。

论坛徽章:
0
3 [报告]
发表于 2004-10-08 09:55 |只看该作者

一个Mysql自动备份脚本

不错不错 比我的以前对付的好多了

以前也有不少写这个脚本的 加精

论坛徽章:
0
4 [报告]
发表于 2004-10-08 14:40 |只看该作者

一个Mysql自动备份脚本

[quote]原帖由 "aspbiz"][/quote 发表:

我需要。谢谢! maow@glsc.com.cn

论坛徽章:
0
5 [报告]
发表于 2004-10-08 15:35 |只看该作者

一个Mysql自动备份脚本

我需要...tao_jh@citiz.net,   thankx!!

论坛徽章:
0
6 [报告]
发表于 2004-10-09 00:50 |只看该作者

一个Mysql自动备份脚本

支持

谢谢

dillon100@21cn.com

论坛徽章:
0
7 [报告]
发表于 2004-10-09 01:48 |只看该作者

一个Mysql自动备份脚本

给我发一份吧
正好我在找这样的脚本呢

论坛徽章:
0
8 [报告]
发表于 2004-10-09 08:43 |只看该作者

一个Mysql自动备份脚本

楼主的这个咚咚真好,辛苦了 !

论坛徽章:
0
9 [报告]
发表于 2004-10-09 09:29 |只看该作者

一个Mysql自动备份脚本

楼主,辛苦了
给我一份吧,我找了多时了,哈哈
xjxjun@126.com

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2004-10-09 09:49 |只看该作者

一个Mysql自动备份脚本

终于找到想要的了.来一份楼主.
ltsnet@bxemail.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP