﻿<?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-waterye</title><link>http://www.blogjava.net/waterye/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 27 Apr 2026 21:29:57 GMT</lastBuildDate><pubDate>Mon, 27 Apr 2026 21:29:57 GMT</pubDate><ttl>60</ttl><item><title>使用rsync+ssh同步n个文件</title><link>http://www.blogjava.net/waterye/archive/2009/12/29/307678.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Tue, 29 Dec 2009 12:24:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2009/12/29/307678.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/307678.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2009/12/29/307678.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/307678.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/307678.html</trackback:ping><description><![CDATA[rsync -avz -e ssh bak@192.168.0.138:/home/res /home/res/bak
<img src ="http://www.blogjava.net/waterye/aggbug/307678.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2009-12-29 20:24 <a href="http://www.blogjava.net/waterye/archive/2009/12/29/307678.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql备份</title><link>http://www.blogjava.net/waterye/archive/2009/12/29/307677.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Tue, 29 Dec 2009 12:17:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2009/12/29/307677.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/307677.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2009/12/29/307677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/307677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/307677.html</trackback:ping><description><![CDATA[1. 使用Replication进行实时备份<br />
参考mysql docs<br />
2. 定期在slave上使用shell,mysqldump,sftp,crontab进行永久备份<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="font-size: 13px; "><span style="color: #000000; ">#</span><span style="color: #000000; ">!/</span><span style="color: #000000; ">bin</span><span style="color: #000000; ">/</span><span style="color: #000000; ">sh</span></span><span style="color: #000000; "><br />
export&nbsp;d</span><span style="color: #000000; ">=</span><span style="color: #000000; ">`date&nbsp;</span><span style="color: #000000; ">+%</span><span style="color: #000000; ">Y</span><span style="color: #000000; ">%</span><span style="color: #000000; ">m</span><span style="color: #000000; ">%</span><span style="color: #000000; ">d</span><span style="color: #000000; ">%</span><span style="color: #000000; ">H</span><span style="color: #000000; ">%</span><span style="color: #000000; ">M</span><span style="color: #000000; ">%</span><span style="color: #000000; ">S`<br />
mkdir&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">p&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">data</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dbbak</span><span style="color: #000000; ">/</span><span style="color: #000000; ">baktables</span><span style="color: #000000; ">/</span><span style="color: #000000; ">$d<br />
</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;i&nbsp;in&nbsp;`echo&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">show&nbsp;tables</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">|</span><span style="color: #000000; ">&nbsp;mysql&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">u&nbsp;bak&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">ppassword&nbsp;db</span><span style="color: #000000; ">|</span><span style="color: #000000; ">grep&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">v&nbsp;Tables`;<br />
</span><span style="color: #0000FF; ">do</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;echo&nbsp;$i;&nbsp;mysqldump&nbsp;</span><span style="color: #000000; ">--</span><span style="color: #000000; ">add</span><span style="color: #000000; ">-</span><span style="color: #000000; ">drop</span><span style="color: #000000; ">-</span><span style="color: #000000; ">table&nbsp;</span><span style="color: #000000; ">--</span><span style="color: #000000; ">allow</span><span style="color: #000000; ">-</span><span style="color: #000000; ">keywords&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">q&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">a&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">c&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">u&nbsp;bak&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">ppasswod&nbsp;mbook_hd&nbsp;$i&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;backup</span><span style="color: #000000; ">/</span><span style="color: #000000; ">$d</span><span style="color: #000000; ">/</span><span style="color: #000000; ">$i.sql<br />
done<br />
<br />
tar&nbsp;czf&nbsp;backup</span><span style="color: #000000; ">/</span><span style="color: #000000; ">$d.tar.gz&nbsp;backup</span><span style="color: #000000; ">/</span><span style="color: #000000; ">$d</span><span style="color: #000000; ">/</span><span style="color: #000000; "><br />
rm&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">rf&nbsp;backup</span><span style="color: #000000; ">/</span><span style="color: #000000; ">$d</span><span style="color: #000000; ">/</span><span style="color: #000000; "><br />
<br />
lftp&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">e&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">cd&nbsp;/dbbak/;&nbsp;mput&nbsp;-c&nbsp;$d.tar.gz;&nbsp;quit</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">u&nbsp;bak,password&nbsp;sftp:</span><span style="color: #008000; ">//</span><span style="color: #008000; ">192.168.0.138</span></div>
参考http://ocaoimh.ie/simple-mysql-backup/<br />
10G级别的可以每天作一次备份，100G级别看带宽和硬盘，T级没有经验<br />
<img src ="http://www.blogjava.net/waterye/aggbug/307677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2009-12-29 20:17 <a href="http://www.blogjava.net/waterye/archive/2009/12/29/307677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>检查哪些文件以\n结束</title><link>http://www.blogjava.net/waterye/archive/2009/02/19/255660.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Thu, 19 Feb 2009 14:33:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2009/02/19/255660.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/255660.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2009/02/19/255660.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/255660.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/255660.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">#</span><span style="color: #008000;">!/usr/bin/env&nbsp;python</span><span style="color: #008000;"><br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;string,&nbsp;os,&nbsp;sys&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;<br />
dir&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">'</span><span style="color: #800000;">/home/waterye/works/</span><span style="color: #800000;">'</span><span style="color: #000000;">&nbsp;&nbsp;<br />
<br />
files&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;os.listdir(dir)<br />
</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;f&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;files:<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">not</span><span style="color: #000000;">&nbsp;os.path.isfile(dir</span><span style="color: #000000;">+</span><span style="color: #000000;">os.sep</span><span style="color: #000000;">+</span><span style="color: #000000;">f):&nbsp;</span><span style="color: #0000ff;">continue</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;linecount&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;0<br />
&nbsp;&nbsp;&nbsp;&nbsp;fp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;open(dir</span><span style="color: #000000;">+</span><span style="color: #000000;">os.sep</span><span style="color: #000000;">+</span><span style="color: #000000;">f,</span><span style="color: #800000;">'</span><span style="color: #800000;">r</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;line&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;fp:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;linecount&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;fp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;open(dir</span><span style="color: #000000;">+</span><span style="color: #000000;">os.sep</span><span style="color: #000000;">+</span><span style="color: #000000;">f,</span><span style="color: #800000;">'</span><span style="color: #800000;">r</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;i,line&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;enumerate(fp):<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(i</span><span style="color: #000000;">==</span><span style="color: #000000;">linecount</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">and</span><span style="color: #000000;">&nbsp;line.endswith(</span><span style="color: #800000;">'</span><span style="color: #800000;">\n</span><span style="color: #800000;">'</span><span style="color: #000000;">)):<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">print</span><span style="color: #000000;">&nbsp;f<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">print</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">--------------------------------</span><span style="color: #800000;">"<br />
</span></div>
* bash太难理解，还是用py看上去舒服，虽然不专业，但能完成任务就行
<img src ="http://www.blogjava.net/waterye/aggbug/255660.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2009-02-19 22:33 <a href="http://www.blogjava.net/waterye/archive/2009/02/19/255660.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>perl milliseconds</title><link>http://www.blogjava.net/waterye/archive/2008/12/04/244469.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Thu, 04 Dec 2008 15:33:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2008/12/04/244469.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/244469.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2008/12/04/244469.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/244469.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/244469.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">perldoc&nbsp;DateTime</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">&nbsp;would&nbsp;have&nbsp;told&nbsp;you&nbsp;how&nbsp;to&nbsp;</span><span style="color: #0000ff;">format</span><span style="color: #000000;">&nbsp;milliseconds</span><span style="color: #000000;">.</span><span style="color: #000000;"><br />
<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">use</span><span style="color: #000000;">&nbsp;DateTime;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">use</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">Time</span><span style="color: #000000;">::</span><span style="color: #000000;">HiRes&nbsp;qw(</span><span style="color: #0000ff;">time</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">my</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$dt</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DateTime</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">from_epoch(&nbsp;epoch&nbsp;</span><span style="color: #000000;">=&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">time</span><span style="color: #000000;">()&nbsp;);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">print</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$dt</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">strftime(</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">%Y-%m-%d&nbsp;%H-%M-%S-%3N</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">\n</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000;">;<br />
<br />
</span></div>
* sudo apt-get install libdatetime-perl<br />
<br />
perl真麻烦<br />
<img src ="http://www.blogjava.net/waterye/aggbug/244469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2008-12-04 23:33 <a href="http://www.blogjava.net/waterye/archive/2008/12/04/244469.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>memcached java client</title><link>http://www.blogjava.net/waterye/archive/2008/10/31/237880.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Fri, 31 Oct 2008 11:55:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2008/10/31/237880.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/237880.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2008/10/31/237880.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/237880.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/237880.html</trackback:ping><description><![CDATA[1. http://www.whalin.com/memcached/ v2.0.1<br />
2. http://code.google.com/p/spymemcached/ v2.2<br />
<br />
a. 使用whalin版会导致File Descriptor leak,而使用spy版则不会，原因是whalin版没有使用selector管理socketchannel.<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thread.sleep(</span><span style="color: #000000;">1000</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">begin<img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selector&nbsp;selector&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SocketChannel&nbsp;channel&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;host&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">192.168.0.74</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;port&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">11211</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;timeout&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1000</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">60</span><span style="color: #000000;">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selector&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Selector.open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;channel&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;SocketChannel.open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;channel.configureBlocking(</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;channel.connect(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;InetSocketAddress(host,&nbsp;port));</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;channel.register(selector,&nbsp;channel.validOps());<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selector.select();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(IOException&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Iterator&nbsp;it&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;selector.selectedKeys().iterator();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">&nbsp;(it.hasNext())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SelectionKey&nbsp;selKey&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(SelectionKey)&nbsp;it.next();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it.remove();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;processSelectionKey(selKey);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(IOException&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selKey.cancel();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">unclose<img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(</span><span style="color: #000000;">1000</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">finally</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(channel&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;channel.isOpen())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;channel.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(selector</span><span style="color: #000000;">!=</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selector.close();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;not&nbsp;fd&nbsp;leak</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">end<img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(</span><span style="color: #000000;">1000</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);</span></div>
通过lsof -p pid | grep pipe可以观察是否有fd leak.<br />
<br />
b. w版set 1000000 object 需要600s左右，s版只需150s左右<br />
<img src ="http://www.blogjava.net/waterye/aggbug/237880.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2008-10-31 19:55 <a href="http://www.blogjava.net/waterye/archive/2008/10/31/237880.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cacti-memcached</title><link>http://www.blogjava.net/waterye/archive/2008/10/21/235571.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Mon, 20 Oct 2008 16:50:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2008/10/21/235571.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/235571.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2008/10/21/235571.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/235571.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/235571.html</trackback:ping><description><![CDATA[192.168.0.74 [root avi]$ python /root/memcached/cacti-memcached-1.0/memcached.py localhost<br />
total_items:2002344 get_hits:3 uptime:50291 cmd_get:3 time:1224521129 bytes:58888890 curr_connections:1 connection_structures:8 bytes_written:16167008 limit_maxbytes:402653184 cmd_set:2002344 curr_items:1000000 rusage_user:101.730357 get_misses:0 rusage_system:199.092442 bytes_read:63849044 total_connections:314
<img src ="http://www.blogjava.net/waterye/aggbug/235571.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2008-10-21 00:50 <a href="http://www.blogjava.net/waterye/archive/2008/10/21/235571.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu查看网络流量</title><link>http://www.blogjava.net/waterye/archive/2008/10/05/232565.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Sun, 05 Oct 2008 14:19:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2008/10/05/232565.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/232565.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2008/10/05/232565.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/232565.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/232565.html</trackback:ping><description><![CDATA[1. iftop<br />
sudo apt-get install iftop<br />
sudo iftop -i ppp0<br />
2. slurm<br />
sudo apt-get install slurm<br />
slurm -i ppp0<br />
3. vnstat<br />
<span>sudo apt-get install vnstat<br />
</span><span>sudo chmod o+x /usr/bin/vnstat
<br />
sudo chmod o+wx /var/lib/vnstat/<br />
</span>vnstat -u -i ppp0<br />
vnstat -i ppp0<br />
vnstat -l -i ppp0<br />
<br />
因为不是server就没有用复杂的mrtg
<img src ="http://www.blogjava.net/waterye/aggbug/232565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2008-10-05 22:19 <a href="http://www.blogjava.net/waterye/archive/2008/10/05/232565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>删除最后一行\n</title><link>http://www.blogjava.net/waterye/archive/2008/09/28/231730.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Sun, 28 Sep 2008 11:58:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2008/09/28/231730.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/231730.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2008/09/28/231730.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/231730.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/231730.html</trackback:ping><description><![CDATA[vi,gedit会在最后一行加上\n,实在找不到好的解决方法,只好自己写个shell script删掉<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">#</span><span style="color: #008000;">!/usr/bin/env&nbsp;python</span><span style="color: #008000;"><br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;sys<br />
<br />
oldfile</span><span style="color: #000000;">=</span><span style="color: #000000;">sys.argv[</span><span style="color: #000000;">1</span><span style="color: #000000;">]<br />
newfile</span><span style="color: #000000;">=</span><span style="color: #000000;">sys.argv[</span><span style="color: #000000;">2</span><span style="color: #000000;">]<br />
</span><span style="color: #0000ff;">print</span><span style="color: #000000;">&nbsp;oldfile,newfile,<br />
</span><span style="color: #0000ff;">print</span><span style="color: #000000;"><br />
linecount&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;0<br />
str&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">''</span><span style="color: #000000;"><br />
f&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;open(oldfile,</span><span style="color: #800000;">'</span><span style="color: #800000;">r</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br />
</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;line&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;f:&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;linecount&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;"><br />
f&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;open(oldfile,</span><span style="color: #800000;">'</span><span style="color: #800000;">r</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br />
</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;i,line&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;enumerate(f):<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(i</span><span style="color: #000000;">==</span><span style="color: #000000;">linecount</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">):<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;line.replace(</span><span style="color: #800000;">'</span><span style="color: #800000;">\n</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">''</span><span style="color: #000000;">)<br />
</span><span style="color: #008000;">#</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;line.replace('\n','')</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;line<br />
</span><span style="color: #008000;">#</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;line,</span><span style="color: #008000;"><br />
#</span><span style="color: #008000;">print&nbsp;len(str),str</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">f2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;open(newfile,&nbsp;</span><span style="color: #800000;">'</span><span style="color: #800000;">w</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br />
f2.write(str)<br />
quit()</span></div>
<br />
<br />
<img src ="http://www.blogjava.net/waterye/aggbug/231730.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2008-09-28 19:58 <a href="http://www.blogjava.net/waterye/archive/2008/09/28/231730.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>memory info</title><link>http://www.blogjava.net/waterye/archive/2008/09/24/230974.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Wed, 24 Sep 2008 11:56:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2008/09/24/230974.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/230974.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2008/09/24/230974.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/230974.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/230974.html</trackback:ping><description><![CDATA[<font>free -lmt<br />
</font><font>cat /proc/meminfo<br />
</font><font>dmesg |grep [mM][eE][mM]</font><br />
<font>cat /proc/pid/status</font><br />
<img src ="http://www.blogjava.net/waterye/aggbug/230974.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2008-09-24 19:56 <a href="http://www.blogjava.net/waterye/archive/2008/09/24/230974.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>rm many file directory</title><link>http://www.blogjava.net/waterye/archive/2008/09/22/230498.html</link><dc:creator>waterye</dc:creator><author>waterye</author><pubDate>Mon, 22 Sep 2008 12:06:00 GMT</pubDate><guid>http://www.blogjava.net/waterye/archive/2008/09/22/230498.html</guid><wfw:comment>http://www.blogjava.net/waterye/comments/230498.html</wfw:comment><comments>http://www.blogjava.net/waterye/archive/2008/09/22/230498.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterye/comments/commentRss/230498.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterye/services/trackbacks/230498.html</trackback:ping><description><![CDATA[1. find . -type f -exec rm -v {} \;<br />
<br />
2. nice -n 19 rm -rf directory<br />
<br />
3. ls | xargs rm<br />
<br />
4. find . -mtime +90 -type f -exec rm -v {} \;<br />
<br />
采用第四种最好，把一些旧的文件先删除<br />
<img src ="http://www.blogjava.net/waterye/aggbug/230498.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterye/" target="_blank">waterye</a> 2008-09-22 20:06 <a href="http://www.blogjava.net/waterye/archive/2008/09/22/230498.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>