文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mysql 自动备份----aspbiz

mysql 自动备份----aspbiz

时间:2007-02-17  来源:PHP爱好者

写了一个Mysql备份的脚本,大家看看,有什么不妥地方。

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

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

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

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

代码:
CODE:
[复制到剪切板]
<br /><br />#!/bin/bash <br />#This is a Shell&#115;cript For Auto DB Backup <br />#Powered by aspbiz <br />#2004-09 <br /><br />#Setting <br />#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 <br />#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy <br />#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz <br />DBName=mysql <br />DBUser=root <br />DBPasswd= <br />BackupPath=/root/ <br />LogFile=/root/db.log <br />DBPath=/var/lib/mysql/ <br />#BackupMethod=mysqldump <br />#BackupMethod=mysqlhotcopy <br />#BackupMethod=tar <br />#Setting End <br><br>NewFile=&quot;&#36;BackupPath&quot;db&#36;(date +%y%m%d).tgz <br />DumpFile=&quot;&#36;BackupPath&quot;db&#36;(date +%y%m%d) <br />OldFile=&quot;&#36;BackupPath&quot;db&#36;(date +%y%m%d --date='5 days ago').tgz <br /><br />echo &quot;-------------------------------------------&quot; &gt;&gt; &#36;LogFile <br />echo &#36;(date +&quot;%y-%m-%d %H:%M:%S&quot;) &gt;&gt; &#36;LogFile <br />echo &quot;--------------------------&quot; &gt;&gt; &#36;LogFile <br />#Delete Old File <br />if [ -f &#36;OldFile ] <br />then <br> &nbsp;rm -f &#36;OldFile &gt;&gt; &#36;LogFile 2&gt;&amp;1 <br> &nbsp;echo &quot;[&#36;OldFile]Delete Old File Success!&quot; &gt;&gt; &#36;LogFile <br />else <br> &nbsp;echo &quot;[&#36;OldFile]No Old Backup File!&quot; &gt;&gt; &#36;LogFile <br />fi <br /><br />if [ -f &#36;NewFile ] <br />then <br> &nbsp;echo &quot;[&#36;NewFile]The Backup File is exists,Can't Backup!&quot; &gt;&gt; &#36;LogFile <br />else <br> &nbsp;case &#36;BackupMethod in <br> &nbsp;mysqldump) <br> &nbsp; &nbsp; if [ -z &#36;DBPasswd ] <br> &nbsp; &nbsp; then <br> &nbsp; &nbsp; &nbsp; &nbsp;mysqldump -u &#36;DBUser --opt &#36;DBName &gt; &#36;DumpFile <br> &nbsp; &nbsp; else <br> &nbsp; &nbsp; &nbsp; &nbsp;mysqldump -u &#36;DBUser -p&#36;DBPasswd --opt &#36;DBName &gt; &#36;DumpFile <br> &nbsp; &nbsp; fi <br> &nbsp; &nbsp; tar czvf &#36;NewFile &#36;DumpFile &gt;&gt; &#36;LogFile 2&gt;&amp;1 <br> &nbsp; &nbsp; echo &quot;[&#36;NewFile]Backup Success!&quot; &gt;&gt; &#36;LogFile <br> &nbsp; &nbsp; rm -rf &#36;DumpFile <br> &nbsp; &nbsp; ;; <br> &nbsp;mysqlhotcopy) <br> &nbsp; &nbsp; rm -rf &#36;DumpFile <br> &nbsp; &nbsp; mkdir &#36;DumpFile <br> &nbsp; &nbsp; if [ -z &#36;DBPasswd ] <br> &nbsp; &nbsp; then <br> &nbsp; &nbsp; &nbsp; &nbsp;mysqlhotcopy -u &#36;DBUser &#36;DBName &#36;DumpFile &gt;&gt; &#36;LogFile 2&gt;&amp;1 <br> &nbsp; &nbsp; else <br> &nbsp; &nbsp; &nbsp; &nbsp;mysqlhotcopy -u &#36;DBUser -p &#36;DBPasswd &#36;DBName &#36;DumpFile &gt;&gt;&#36;LogFile 2&gt;&amp;1 <br> &nbsp; &nbsp; fi <br> &nbsp; &nbsp; tar czvf &#36;NewFile &#36;DumpFile &gt;&gt; &#36;LogFile 2&gt;&amp;1 <br> &nbsp; &nbsp; echo &quot;[&#36;NewFile]Backup Success!&quot; &gt;&gt; &#36;LogFile <br> &nbsp; &nbsp; rm -rf &#36;DumpFile <br> &nbsp; &nbsp; ;; <br> &nbsp;*) <br> &nbsp; &nbsp; /etc/init.d/mysqld stop &gt;/dev/null 2&gt;&amp;1 <br> &nbsp; &nbsp; tar czvf &#36;NewFile &#36;DBPath&#36;DBName &gt;&gt; &#36;LogFile 2&gt;&amp;1 <br> &nbsp; &nbsp; /etc/init.d/mysqld start &gt;/dev/null 2&gt;&amp;1 <br> &nbsp; &nbsp; echo &quot;[&#36;NewFile]Backup Success!&quot; &gt;&gt; &#36;LogFile <br> &nbsp; &nbsp; ;; <br> &nbsp;esac <br />fi <br /><br />echo &quot;-------------------------------------------&quot; &gt;&gt; &#36;LogFile <br><br> ; 非常全面的一个php技术网站,php爱好者站 http://www.phpfans.net 有相当丰富的文章和源代码.

php爱 好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载