<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[MySQL自动备份脚本（linux）]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Tue, 05 Dec 2006 03:10:51 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	　 之前，有用户向我们提出过疑问：如何才能实现MySQL的自动备份，当时，我们的回复是编一个自动脚本。 <br/> &nbsp; &nbsp; &nbsp;现在我们把这段代码贴出来，希望对各位有所帮助。可以将这个脚本放进crontab，每天凌晨执行一次，自动备份。<br/><br/>　　这个脚本每天最多只执行一次，而且只保留最近五天的备份在服务器上。<br/><br/>　　代码:<br/><br/><div class="code">&lt;br/&gt;&lt;br/&gt;#!/bin/bash &lt;br/&gt;#This is a ShellScript For Auto DB Backup &lt;br/&gt;#Powered by aspbiz &lt;br/&gt;#2004-09 &lt;br/&gt;&lt;br/&gt;#Setting &lt;br/&gt;#设置数据库名，数据库登录名，密码，备份路径，日志路径，数据文件位置，以及备份方式 &lt;br/&gt;#默认情况下备份方式是tar，还可以是mysqldump,mysqldotcopy &lt;br/&gt;#默认情况下，用root(空)登录mysql数据库，备份至/root/dbxxxxx.tgz &lt;br/&gt;DBName=mysql &lt;br/&gt;DBUser=root &lt;br/&gt;DBPasswd= &lt;br/&gt;BackupPath=/root/ &lt;br/&gt;LogFile=/root/db.log &lt;br/&gt;DBPath=/var/lib/mysql/ &lt;br/&gt;#BackupMethod=mysqldump &lt;br/&gt;#BackupMethod=mysqlhotcopy &lt;br/&gt;#BackupMethod=tar &lt;br/&gt;#Setting End &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;NewFile=&amp;quot;$BackupPath&amp;quot;db$(date +%y%m%d).tgz &lt;br/&gt;DumpFile=&amp;quot;$BackupPath&amp;quot;db$(date +%y%m%d) &lt;br/&gt;OldFile=&amp;quot;$BackupPath&amp;quot;db$(date +%y%m%d --date=&amp;#039;5 days ago&amp;#039;).tgz &lt;br/&gt;&lt;br/&gt;echo &amp;quot;-------------------------------------------&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt;echo $(date +&amp;quot;%y-%m-%d %H:%M:%S&amp;quot;) &amp;gt;&amp;gt; $LogFile &lt;br/&gt;echo &amp;quot;--------------------------&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt;#Delete Old File &lt;br/&gt;if &#91; -f $OldFile &#93; &lt;br/&gt;then &lt;br/&gt; &amp;nbsp; rm -f $OldFile &amp;gt;&amp;gt; $LogFile 2&amp;gt;&amp;amp;1 &lt;br/&gt; &amp;nbsp; echo &amp;quot;&#91;$OldFile&#93;Delete Old File Success!&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt;else &lt;br/&gt; &amp;nbsp; echo &amp;quot;&#91;$OldFile&#93;No Old Backup File!&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt;fi &lt;br/&gt;&lt;br/&gt;if &#91; -f $NewFile &#93; &lt;br/&gt;then &lt;br/&gt; &amp;nbsp; echo &amp;quot;&#91;$NewFile&#93;The Backup File is exists,Can&amp;#039;t Backup!&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt;else &lt;br/&gt; &amp;nbsp; case $BackupMethod in &lt;br/&gt; &amp;nbsp; mysqldump) &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &#91; -z $DBPasswd &#93; &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;then &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mysqldump -u $DBUser --opt $DBName &amp;gt; $DumpFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;else &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mysqldump -u $DBUser -p$DBPasswd --opt $DBName &amp;gt; $DumpFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;tar czvf $NewFile $DumpFile &amp;gt;&amp;gt; $LogFile 2&amp;gt;&amp;amp;1 &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo &amp;quot;&#91;$NewFile&#93;Backup Success!&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;rm -rf $DumpFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;;; &lt;br/&gt; &amp;nbsp; mysqlhotcopy) &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;rm -rf $DumpFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;mkdir $DumpFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &#91; -z $DBPasswd &#93; &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;then &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mysqlhotcopy -u $DBUser $DBName $DumpFile &amp;gt;&amp;gt; $LogFile 2&amp;gt;&amp;amp;1 &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;else &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile &amp;gt;&amp;gt;$LogFile 2&amp;gt;&amp;amp;1 &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;fi &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;tar czvf $NewFile $DumpFile &amp;gt;&amp;gt; $LogFile 2&amp;gt;&amp;amp;1 &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo &amp;quot;&#91;$NewFile&#93;Backup Success!&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;rm -rf $DumpFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;;; &lt;br/&gt; &amp;nbsp; *) &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;/etc/init.d/mysqld stop &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;tar czvf $NewFile $DBPath$DBName &amp;gt;&amp;gt; $LogFile 2&amp;gt;&amp;amp;1 &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;/etc/init.d/mysqld start &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo &amp;quot;&#91;$NewFile&#93;Backup Success!&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;;; &lt;br/&gt; &amp;nbsp; esac &lt;br/&gt;fi &lt;br/&gt;&lt;br/&gt;echo &amp;quot;-------------------------------------------&amp;quot; &amp;gt;&amp;gt; $LogFile &lt;br/&gt; &lt;br/&gt;&lt;br/&gt;</div><br/><br/><br/>Tags - <a href="http://www.dzhope.com/tags/%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%25E5%25A4%2587%25E4%25BB%25BD/" rel="tag">数据库备份</a> , <a href="http://www.dzhope.com/tags/mysql/" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] MySQL自动备份脚本（linux）]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>