﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Tao</title><link>http://www.blogjava.net/programmer/</link><description>Tao obeys its own inherent Nature</description><language>zh-cn</language><lastBuildDate>Fri, 05 Dec 2008 02:09:01 GMT</lastBuildDate><pubDate>Fri, 05 Dec 2008 02:09:01 GMT</pubDate><ttl>60</ttl><item><title>TWI Travel Photos In Pune on 07/12, 2008</title><link>http://www.blogjava.net/programmer/archive/2008/07/13/214519.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Sat, 12 Jul 2008 17:14:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2008/07/13/214519.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/214519.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2008/07/13/214519.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/214519.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/214519.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: TWI Travel Photos - Pune&nbsp;&nbsp;<a href='http://www.blogjava.net/programmer/archive/2008/07/13/214519.html'>阅读全文</a><img src ="http://www.blogjava.net/programmer/aggbug/214519.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2008-07-13 01:14 <a href="http://www.blogjava.net/programmer/archive/2008/07/13/214519.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于JavaScript的代码自动生成工具</title><link>http://www.blogjava.net/programmer/archive/2008/03/05/183945.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Wed, 05 Mar 2008 05:28:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2008/03/05/183945.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/183945.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2008/03/05/183945.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/183945.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/183945.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 快速生成程序代码, 比如Struts, Spring, Jdbc/Hibernate所有前后台的代码.<br>支持Mysql, 以及支持Ado连接的数据库.<br>支持批量生成部分/全部模板， 保存选中的模板到Working Set<br>使用Javascript作为模板脚本语言&nbsp;&nbsp;<a href='http://www.blogjava.net/programmer/archive/2008/03/05/183945.html'>阅读全文</a><img src ="http://www.blogjava.net/programmer/aggbug/183945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2008-03-05 13:28 <a href="http://www.blogjava.net/programmer/archive/2008/03/05/183945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Introduce a tool to generate code by writing JavaScript</title><link>http://www.blogjava.net/programmer/archive/2008/03/04/183810.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Tue, 04 Mar 2008 14:48:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2008/03/04/183810.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/183810.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2008/03/04/183810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/183810.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/183810.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Generate code, e.g. all files for Struts, Spring, Jdbc/Hibernate.<br>Support Mysql, and database which support Ado connection<br>Support generate file/project files and batch generate, and you can save you selection to a named working set in batch generate mode.<br>Using Javascript as the template engine&nbsp;&nbsp;<a href='http://www.blogjava.net/programmer/archive/2008/03/04/183810.html'>阅读全文</a><img src ="http://www.blogjava.net/programmer/aggbug/183810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2008-03-04 22:48 <a href="http://www.blogjava.net/programmer/archive/2008/03/04/183810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HOWTO: Compare folder under linux</title><link>http://www.blogjava.net/programmer/archive/2008/02/29/182984.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Fri, 29 Feb 2008 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2008/02/29/182984.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/182984.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2008/02/29/182984.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/182984.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/182984.html</trackback:ping><description><![CDATA[diff -r -q -X exclude.list . testing <img src ="http://www.blogjava.net/programmer/aggbug/182984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2008-02-29 16:52 <a href="http://www.blogjava.net/programmer/archive/2008/02/29/182984.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>集成ACEGI 进行权限控制</title><link>http://www.blogjava.net/programmer/archive/2008/01/30/178565.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Wed, 30 Jan 2008 09:28:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2008/01/30/178565.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/178565.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2008/01/30/178565.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/178565.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/178565.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 集成Acegi到自己的项目中, 并且将用户信息和权限放到数据库, 提供方法允许权限动态变化,变化后自动加载最新的权限<br>增加Junit 测试, 这样可以在改变权限后, 方便地检查是否设置正确.<br>Acegi 提供的Tag不能判断当前用户对某一个URL有没有权限, 由于很多时候需要根据当前用户的权限来控制某些功能是否显示, 所以增加相应的Tag<br><auth:ifNotAuthrized url="/system/acl.action">如果当前用户没有指定url的权限,显示本部分内容</auth:ifNotAuthrized> <br><auth:ifAuthrized url="/system/acl.action">如果当前用户有指定url的权限,显示本部分内容</auth:ifAuthrized> <br><br>&nbsp;&nbsp;<a href='http://www.blogjava.net/programmer/archive/2008/01/30/178565.html'>阅读全文</a><img src ="http://www.blogjava.net/programmer/aggbug/178565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2008-01-30 17:28 <a href="http://www.blogjava.net/programmer/archive/2008/01/30/178565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How To: Using symfony to add a join between tables</title><link>http://www.blogjava.net/programmer/archive/2007/12/05/165599.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Wed, 05 Dec 2007 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2007/12/05/165599.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/165599.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2007/12/05/165599.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/165599.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/165599.html</trackback:ping><description><![CDATA[<h4><strong>1. simple join two tables</strong></h4> <p><strong>purpose:</strong><br>generate sql like:&nbsp;&nbsp;&nbsp; </p> <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 64px; background-color: #f4f4f4; max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">select * from photo p
    left join artist a on p.artist_id = a.artist_id
      where a.genre = <span style="color: #006080">'something'</span> and p.genre = <span style="color: #006080">'something'</span>
</pre></div>
<p><strong>code:</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">if</span>(!CriteriaUtil::hasJoin($criteria, ArtistPeer::TABLE_NAME)){
    $criteria-&gt;addJoin(PhotoPeer::ARTIST_ID, ArtistPeer::ARTIST_ID, Criteria::LEFT_JOIN);
}
$criteria-&gt;add(ArtistPeer::GENRE, $genre);    
$criteria-&gt;add(PhotoPeer::GENRE, $genre);</pre></div>
<p>2. join two tables, add AND OR between conditions<br><strong>purpose:</strong><br>generate sql like:&nbsp;&nbsp;&nbsp;&nbsp; </p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">select * from photo p
    left join artist a on p.artist_id = a.artist_id
      where (a.genre = <span style="color: #006080">'some'</span> or p.genre=<span style="color: #006080">'something'</span>)
        and a.name = <span style="color: #006080">'something'</span></pre></div>
<p><strong>code:</strong>&nbsp;&nbsp;&nbsp; </p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">if</span>(!CriteriaUtil::hasJoin($criteria, ArtistPeer::TABLE_NAME)){
   $criteria-&gt;addJoin(PhotoPeer::ARTIST_ID, ArtistPeer::ARTIST_ID, Criteria::LEFT_JOIN);
}
$criteria-&gt;add(ArtistPeer::GENRE, $genre);
$c = $criteria-&gt;getCriterion(ArtistPeer::GENRE);
<span style="color: #0000ff">if</span>($c != <span style="color: #0000ff">null</span>){
   $c-&gt;addOr($criteria-&gt;getNewCriterion(PhotoPeer::GENRE, $genre));
}
$criteria-&gt;add(ArtistPeer::NAME, $name);</pre></div>
<p><strong></strong>&nbsp;</p>
<p><strong>Note:</strong><br>It's a good habit to check if we have joined the table already. to check this, you can use the following util class, it get all the joined tables, and check if the table exists in them.</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">class</span> CriteriaUtil{
    <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span> hasJoin($c, $table_name){
        $joins = $c-&gt;getJoins();
        <span style="color: #0000ff">if</span>($joins != <span style="color: #0000ff">null</span>){
            <span style="color: #0000ff">foreach</span>($joins <span style="color: #0000ff">as</span> $join){
                <span style="color: #0000ff">if</span>($join-&gt;getRightTableName() == $table_name){
                    <span style="color: #0000ff">return</span> <span style="color: #0000ff">true</span>;
                }
                <span style="color: #0000ff">if</span>($join-&gt;getLeftTableName() == $table_name){
                    <span style="color: #0000ff">return</span> <span style="color: #0000ff">true</span>;
                }
            }
        }
        <span style="color: #0000ff">return</span> <span style="color: #0000ff">false</span>;
    }
}
</pre></div><img src ="http://www.blogjava.net/programmer/aggbug/165599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2007-12-05 17:26 <a href="http://www.blogjava.net/programmer/archive/2007/12/05/165599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WLW: QI for IEnumVARIANT failed on the unmanaged server.</title><link>http://www.blogjava.net/programmer/archive/2007/12/05/165594.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Wed, 05 Dec 2007 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2007/12/05/165594.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/165594.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2007/12/05/165594.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/165594.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/165594.html</trackback:ping><description><![CDATA[<p>It maybe popup an error message to say that "QI for IEnumVARIANT failed on the unmanaged server" when open the Windows Live Writer.</p> <p>After search on google, I found the resolution is import some settings into registry.</p> <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000000000046}]
@="IEnumVARIANT"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000000000046}\NumMethods]
@="7"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000000000046}\ProxyStubClsid]
@="{00020421-0000-0000-C000-000000000046}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00020404-0000-0000-C000-000000000046}\ProxyStubClsid32]
@="{00020421-0000-0000-C000-000000000046}"</pre></div>
<p>&nbsp;</p>
<p>You can also download the file <a href="http://www.blogjava.net/Files/programmer/IEnumVARIANT_failed.zip" target="_blank">here</a>, unzip and import it to your registry.</p><img src ="http://www.blogjava.net/programmer/aggbug/165594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2007-12-05 17:08 <a href="http://www.blogjava.net/programmer/archive/2007/12/05/165594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How To: Clear cache for symfony</title><link>http://www.blogjava.net/programmer/archive/2007/11/13/165571.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Tue, 13 Nov 2007 09:23:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2007/11/13/165571.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/165571.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2007/11/13/165571.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/165571.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/165571.html</trackback:ping><description><![CDATA[<p>Original article: <a title="http://www.symfony-project.com/book/1_0/18-Performance" href="http://www.symfony-project.com/book/1_0/18-Performance" target="_blank">http://www.symfony-project.com/book/1_0/18-Performance</a></p> <h5><strong>Clearing Selective Parts of the Cache</strong></h5> <p>During application development, you have to clear the cache in various situations: </p> <ul> <li>When you create a new class: Adding a class to an autoloading directory (one of the project's <code>lib/</code> folders) is not enough to have symfony find it automatically. You must clear the autoloading configuration cache so that symfony browses again all the directories of the <code>autoload.yml</code> file and references the location of autoloadable classes--including the new ones.  <li>When you change the configuration in production: The configuration is parsed only during the first request in production. Further requests use the cached version instead. So a change in the configuration in the production environment (or any environment where <code>SF_DEBUG</code> is turned off) doesn't take effect until you clear the cached version of the file.  <li>When you modify a template in an environment where the template cache is enabled: The valid cached templates are always used instead of existing templates in production, so a template change is ignored until the template cache is cleared or outdated.  <li>When you update an application with the <code>sync</code> command: This case usually covers the three previous modifications. </li></ul> <p>The problem with clearing the whole cache is that the next request will take quite long to process, because the configuration cache needs to be regenerated. Besides, the templates that were not modified will be cleared from the cache as well, losing the benefit of previous requests. </p> <p>That means it's a good idea to clear only the cache files that really need to be regenerated. Use the options of the <code>clear-cache</code> task to define a subset of cache files to clear, as demonstrated in Listing 18-14. </p> <p>Listing 18-14 - Clearing Only Selective Parts of the Cache</p><pre><code>// Clear only the cache of the myapp application<br>
&gt; symfony clear-cache myapp<br>
<br>
// Clear only the HTML cache of the myapp application<br>
&gt; symfony clear-cache myapp template<br>
<br>
// Clear only the configuration cache of the myapp application<br>
&gt; symfony clear-cache myapp config<br>
</code></pre>
<p>You can also remove files by hand in the <code>cache/</code> directory, or clear template cache files selectively from the action with the <code>$cacheManager-&gt;remove()</code> method, as described inChapter 12 </p>
<p>&nbsp;</p>
<p><strong>Note:</strong></p>
<p>1. We can use <code><strong>$cacheManager-&gt;remove()</strong></code> to clear cache after we deployed a new version product.</p>
<p>2. write code to generate models from database, and then call <code><strong>$cacheManager-&gt;remove()</strong></code> to clear cache.</p><img height="1" alt="" src="http://www.cnblogs.com/taotao/aggbug/958226.html" width="1"><br>
<div>&nbsp;</div><img src ="http://www.blogjava.net/programmer/aggbug/165571.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2007-11-13 17:23 <a href="http://www.blogjava.net/programmer/archive/2007/11/13/165571.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How To: open Mysql binary log</title><link>http://www.blogjava.net/programmer/archive/2007/11/13/165572.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Tue, 13 Nov 2007 07:49:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2007/11/13/165572.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/165572.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2007/11/13/165572.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/165572.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/165572.html</trackback:ping><description><![CDATA[<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244,244,244); max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas,'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); border-bottom-style: none"><span style="color: rgb(0,128,0)">#server-id       = 1</span>
log-bin         = /var/log/mysql/mysql-bin.log
<span style="color: rgb(0,128,0)">#if you set the expire_logs_days = x var in the [mysqld] section of your my.cnf it will automatically rotate your bin logs after x days.</span>
expire_logs_days = 30
<span style="color: rgb(0,128,0)">#it will create a new log file when the current file reach the specified size.</span>
max_binlog_size = 100M
</pre></div><img height="1" alt="" src="http://www.cnblogs.com/taotao/aggbug/958098.html" width="1"><br>
<div align="right">&nbsp;</div><img src ="http://www.blogjava.net/programmer/aggbug/165572.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2007-11-13 15:49 <a href="http://www.blogjava.net/programmer/archive/2007/11/13/165572.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How To: using bash script to backup MySql</title><link>http://www.blogjava.net/programmer/archive/2007/11/13/165573.html</link><dc:creator>wade</dc:creator><author>wade</author><pubDate>Tue, 13 Nov 2007 07:49:00 GMT</pubDate><guid>http://www.blogjava.net/programmer/archive/2007/11/13/165573.html</guid><wfw:comment>http://www.blogjava.net/programmer/comments/165573.html</wfw:comment><comments>http://www.blogjava.net/programmer/archive/2007/11/13/165573.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/programmer/comments/commentRss/165573.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/programmer/services/trackbacks/165573.html</trackback:ping><description><![CDATA[Create a file backup_db.sh, and paste the following contents:  <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244,244,244); max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas,'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); border-bottom-style: none"><span style="color: rgb(0,128,0)">#get the first parameter as the database name</span>
DATABASE=$1
<span style="color: rgb(0,128,0)">#if no database specified, then you can set the default one</span>
<span style="color: rgb(0,0,255)">if</span> [ -z $DATABASE ]; then<br>
DATABASE=default_database_name_here<br>
fi<br>
<br>
<span style="color: rgb(0,128,0)">#mysql user and password to backup the database.</span>
MYSQLUSER=mysql_user
MYSQLPWD=mysql_password
<span style="color: rgb(0,128,0)">#path to backup</span>
ARCHIVEPATH=~/backup/db_backup
DATE=`date +%Y%m%d`
YEAR=`date +%Y`
MONTH=`date +%m`
FOLDER_MONTH=$ARCHIVEPATH/$YEAR$MONTH
<span style="color: rgb(0,0,255)">if</span> [ ! -d $FOLDER_MONTH ]; then<br>
echo <span style="color: rgb(0,96,128)">"mkdir $FOLDER_MONTH"</span>
mkdir $FOLDER_MONTH
fi
<span style="color: rgb(0,128,0)"># Backup</span>
echo <span style="color: rgb(0,96,128)">"mysqldump -u$MYSQLUSER -p$MYSQLPWD $DATABASE | gzip &gt; $FOLDER_MONTH/$DATABASE-$DATE.sql.gz"</span>
mysqldump -u$MYSQLUSER -p$MYSQLPWD $DATABASE | gzip &gt; $FOLDER_MONTH/$DATABASE-$DATE.sql.gz
</pre></div>
<p>&nbsp;</p>
<p>and you can add the script to cron job under *nix and schedule under windows:</p>
<p>*nix:</p>
<p>Save the following text in file: db_backup.at</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244,244,244); max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas,'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); border-bottom-style: none">10 * * * * ~/backup/backup_db.sh databasename</pre></div>
<p>and call </p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas,'Courier New',courier,monospace; background-color: rgb(244,244,244); max-height: 200px"><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas,'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); border-bottom-style: none">crontab db_backup.at</pre></div>
<p>You need to change the period to run the script for your business, e.g. each day, each week etc.</p><img height="1" alt="" src="http://www.cnblogs.com/taotao/aggbug/958099.html" width="1"><br>
<div>&nbsp;</div><img src ="http://www.blogjava.net/programmer/aggbug/165573.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/programmer/" target="_blank">wade</a> 2007-11-13 15:49 <a href="http://www.blogjava.net/programmer/archive/2007/11/13/165573.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>