<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-27744425</id><updated>2009-10-06T12:57:36.545+05:30</updated><title type='text'>/me on the net!</title><subtitle type='html'>print "%s on the net" % (name)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gnurag.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default'/><link rel='alternate' type='text/html' href='http://gnurag.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anurag</name><uri>http://www.blogger.com/profile/05931261610945789635</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27744425.post-115071765713407748</id><published>2006-06-19T17:13:00.000+05:30</published><updated>2006-06-19T17:19:45.113+05:30</updated><title type='text'>redlof worm cure</title><content type='html'>When RedLof worm was wrecking havoc on my files, and NAV was deleting all my data, i wrote a small utility that removes infected portions from infected files...&lt;br /&gt;&lt;br /&gt;Unfortunately, i knew only Java at that time, so sorry if this program sucks.. but it does its job perfectly..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;/** Cure for HTML.Redlof.A virus&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;*   Copyright (C) Anurag&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;import&lt;/span&gt;&lt;span style="color: #808000;"&gt; java.io.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;import&lt;/span&gt;&lt;span style="color: #808000;"&gt; java.util.*;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt; redlof&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000080;"&gt;main&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; args[])&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;System&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;out&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;println&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"Virus Repair tool &amp;lt;HTML.Redlof.A&amp;gt;&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;\n&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (args.&lt;/span&gt;&lt;span style="color: #000080;"&gt;length&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;System&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;out&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;println&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"Usage : java redlof [directory]"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;System&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;exit&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; loc=args[&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;System&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;out&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;println&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;\n\n&lt;/span&gt;&lt;span style="color: #dd0000;"&gt; ****** Initializing Virus Remover ****** "&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;System&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;out&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;println&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"Searching : "&lt;/span&gt;&lt;span style="color: #000000;"&gt;+loc);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; redlof virus=&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000080;"&gt;redlof&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; virus.&lt;/span&gt;&lt;span style="color: #000080;"&gt;scanFiles&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;File&lt;/span&gt;&lt;span style="color: #000000;"&gt;(loc),&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;Vector&lt;/span&gt;&lt;span style="color: #000000;"&gt;(),&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"htm"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; virus.&lt;/span&gt;&lt;span style="color: #000080;"&gt;scanFiles&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;File&lt;/span&gt;&lt;span style="color: #000000;"&gt;(loc),&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;Vector&lt;/span&gt;&lt;span style="color: #000000;"&gt;(),&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"html"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; virus.&lt;/span&gt;&lt;span style="color: #000080;"&gt;scanFiles&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;File&lt;/span&gt;&lt;span style="color: #000000;"&gt;(loc),&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;Vector&lt;/span&gt;&lt;span style="color: #000000;"&gt;(),&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"asp"&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000080;"&gt;scanFiles&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;File&lt;/span&gt;&lt;span style="color: #000000;"&gt; f, &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;Vector&lt;/span&gt;&lt;span style="color: #000000;"&gt; htmlList, &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; fileExtn)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;         &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (f.&lt;/span&gt;&lt;span style="color: #000080;"&gt;isDirectory&lt;/span&gt;&lt;span style="color: #000000;"&gt;())&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;      &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt;[] list = f.&lt;/span&gt;&lt;span style="color: #000080;"&gt;list&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;         &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (list != &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;          &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #800000;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; i = &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;; i &amp;lt; list.&lt;/span&gt;&lt;span style="color: #000080;"&gt;length&lt;/span&gt;&lt;span style="color: #000000;"&gt;; i++)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;   {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;             &lt;/span&gt;&lt;span style="color: #000080;"&gt;scanFiles&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;File&lt;/span&gt;&lt;span style="color: #000000;"&gt;(f, list[i]), htmlList,fileExtn);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;          }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;         }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;         }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;         &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;            &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (f.&lt;/span&gt;&lt;span style="color: #000080;"&gt;getName&lt;/span&gt;&lt;span style="color: #000000;"&gt;().&lt;/span&gt;&lt;span style="color: #000080;"&gt;toLowerCase&lt;/span&gt;&lt;span style="color: #000000;"&gt;().&lt;/span&gt;&lt;span style="color: #000080;"&gt;endsWith&lt;/span&gt;&lt;span style="color: #000000;"&gt;(fileExtn))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;     {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;                htmlList.&lt;/span&gt;&lt;span style="color: #000080;"&gt;addElement&lt;/span&gt;&lt;span style="color: #000000;"&gt;(f.&lt;/span&gt;&lt;span style="color: #000080;"&gt;getAbsolutePath&lt;/span&gt;&lt;span style="color: #000000;"&gt;());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="color: #000080;"&gt;openfile&lt;/span&gt;&lt;span style="color: #000000;"&gt;(f.&lt;/span&gt;&lt;span style="color: #000080;"&gt;getAbsolutePath&lt;/span&gt;&lt;span style="color: #000000;"&gt;());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;         }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #800000;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000080;"&gt;openfile&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; filename)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;System&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;out&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;print&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"Scanning file : "&lt;/span&gt;&lt;span style="color: #000000;"&gt;+filename);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; content=&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;""&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;byte&lt;/span&gt;&lt;span style="color: #000000;"&gt; b[];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;long&lt;/span&gt;&lt;span style="color: #000000;"&gt; nob;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;try&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;RandomAccessFile&lt;/span&gt;&lt;span style="color: #000000;"&gt; raf=&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;RandomAccessFile&lt;/span&gt;&lt;span style="color: #000000;"&gt;(filename,&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"rw"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  nob=raf.&lt;/span&gt;&lt;span style="color: #000080;"&gt;length&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;(nob&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;11519&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;   &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; ;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  b=&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;byte&lt;/span&gt;&lt;span style="color: #000000;"&gt;[(&lt;/span&gt;&lt;span style="color: #800000;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;)nob];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;System&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;out&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;println&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"  ## Size = "&lt;/span&gt;&lt;span style="color: #000000;"&gt;+nob);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  raf.&lt;/span&gt;&lt;span style="color: #000080;"&gt;seek&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  raf.&lt;/span&gt;&lt;span style="color: #000080;"&gt;read&lt;/span&gt;&lt;span style="color: #000000;"&gt;(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  content=(&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt;(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="color: #000080;"&gt;checkinfected&lt;/span&gt;&lt;span style="color: #000000;"&gt;(content,filename);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  raf.&lt;/span&gt;&lt;span style="color: #000080;"&gt;close&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;catch&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;Exception&lt;/span&gt;&lt;span style="color: #000000;"&gt; e)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #800000;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000080;"&gt;checkinfected&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; src,&lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; filename)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; infected=src.&lt;/span&gt;&lt;span style="color: #000080;"&gt;indexOf&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"vbscript:KJ_start()"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (infected==-&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="color: #000080;"&gt;cure&lt;/span&gt;&lt;span style="color: #000000;"&gt;(filename);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #800000;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000080;"&gt;cure&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;String&lt;/span&gt;&lt;span style="color: #000000;"&gt; filename)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;System&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;out&lt;/span&gt;&lt;span style="color: #000000;"&gt;.&lt;/span&gt;&lt;span style="color: #000080;"&gt;println&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"Repairing file : "&lt;/span&gt;&lt;span style="color: #000000;"&gt;+filename);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;byte&lt;/span&gt;&lt;span style="color: #000000;"&gt; b[];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;long&lt;/span&gt;&lt;span style="color: #000000;"&gt; nob;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;try&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;RandomAccessFile&lt;/span&gt;&lt;span style="color: #000000;"&gt; raf=&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;RandomAccessFile&lt;/span&gt;&lt;span style="color: #000000;"&gt;(filename,&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"rw"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  nob=raf.&lt;/span&gt;&lt;span style="color: #000080;"&gt;length&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  b=&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;byte&lt;/span&gt;&lt;span style="color: #000000;"&gt;[(&lt;/span&gt;&lt;span style="color: #800000;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;)nob];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  raf.&lt;/span&gt;&lt;span style="color: #000080;"&gt;setLength&lt;/span&gt;&lt;span style="color: #000000;"&gt;(raf.&lt;/span&gt;&lt;span style="color: #000080;"&gt;length&lt;/span&gt;&lt;span style="color: #000000;"&gt;()-&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;11516&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;  raf.&lt;/span&gt;&lt;span style="color: #000080;"&gt;close&lt;/span&gt;&lt;span style="color: #000000;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;catch&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color: #0095ff;"&gt;Exception&lt;/span&gt;&lt;span style="color: #000000;"&gt; e)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27744425-115071765713407748?l=gnurag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnurag.blogspot.com/feeds/115071765713407748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=27744425&amp;postID=115071765713407748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default/115071765713407748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default/115071765713407748'/><link rel='alternate' type='text/html' href='http://gnurag.blogspot.com/2006/06/redlof-worm-cure.html' title='redlof worm cure'/><author><name>Anurag</name><uri>http://www.blogger.com/profile/05931261610945789635</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02388394225335000730'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27744425.post-114717444262789716</id><published>2006-05-09T16:57:00.000+05:30</published><updated>2006-05-10T11:29:50.580+05:30</updated><title type='text'>disk utilization notifications</title><content type='html'>Long time back, at &lt;a href="http://www.hbcse.tifr.res.in/"&gt;HBCSE&lt;/a&gt; we were thinking what to do about the /home partition of server which was getting filled upto 90% every now and then. We used to call up the user having extremely large home directory and ask him/her to freeup some disk space.. &lt;br /&gt;&lt;br /&gt;Obviously not many people followed our advice, and I was thinking of writing a shell script that would automatically send overusage notifications, and free us of some headache.. Lol, i ended up writing a Python script finally. :)&lt;br /&gt;&lt;br /&gt;This script is invoked from crontab with root's priveleges.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#!/usr/bin/env python&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;## Script for sending Disk utilization notifications:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#  Copyright (C) 2004 Anurag &amp;lt;anurag@gnowledge.org&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff00ff;"&gt;import&lt;/span&gt;&lt;span style="color: #000000;"&gt; os,re,sys,string&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff00ff;"&gt;import&lt;/span&gt;&lt;span style="color: #000000;"&gt; smtplib&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff00ff;"&gt;import&lt;/span&gt;&lt;span style="color: #000000;"&gt; time&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;tmpfile&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'/tmp/disk.stat'&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# Name of temp file that saves disk stats&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;mailfile&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'/tmp/mail.file'&lt;/span&gt;&lt;span style="color: #000000;"&gt;   &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# file used to store email message&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;lowerlimit&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'100 MB'&lt;/span&gt;&lt;span style="color: #000000;"&gt;         &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# Maximum size of home directory &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;upperlimit&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'300 MB'&lt;/span&gt;&lt;span style="color: #000000;"&gt;         &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# Maximum threshold size of homes &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;uppersizelimit &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;300000&lt;/span&gt;&lt;span style="color: #000000;"&gt;     &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# Upper threshold in KiloBytes&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;todaysdate&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;time.ctime&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;"""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;Function for sending email to users&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;"""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;def&lt;/span&gt;&lt;span style="color: #000000;"&gt; sendEmail&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;username,homesize&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# Composing the email to be sent to users&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# This part is mime header&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'From: HBCSE Server Admin &amp;lt;root@hbcse.tifr.resDOTin&amp;gt;\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'To: &amp;lt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; username &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'@hbcse.tifr.resDOTin&amp;gt;\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'Reply-To: HBCSE Server Admin &amp;lt;root@hbcse.tifr.resDOTin&amp;gt;\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'Subject: Warning: Your HBCSE home size\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'Date: '&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; todaysdate &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# This part is the actual message&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'\n\n\nHello '&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; username &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;',\n\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'Currently the size of your home directory on HBCSE server is'&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'more than the maximum threshold limit of '&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; upperlimit &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'Please reduce the size your home directory on HBCSE server so'&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'that it can run efficiently.'&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'\n\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'For clarifications call 108 or root@hbcse.tifr.resDOTin '&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'\n\n\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    wmsg &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'-- \nHBCSE Server Admin'&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'\n'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# connecting to mail server&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;try&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        s&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;smtplib.SMTP&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'localhost'&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        s.mail&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'root@hbcse.tifr.resDOTin'&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        s.rcpt&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;username &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'@hbcse.tifr.res.in'&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        s.data&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;wmsg&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;except&lt;/span&gt;&lt;span style="color: #000000;"&gt; Exception&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;pass&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;"""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;Function for finding over quota directories&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;"""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;def&lt;/span&gt;&lt;span style="color: #000000;"&gt; findOverQuotas&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;tmpfilename&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    ifile &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;open&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;tmpfilename,&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'r'&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;)&lt;/span&gt;&lt;span style="color: #000000;"&gt;      &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# open the file containing disk stats&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    filecontents &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; ifile.readlines&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;()&lt;/span&gt;&lt;span style="color: #000000;"&gt;   &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# read it line by line&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt; lines &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt; filecontents&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        userdetails&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=[]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        userdetails &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; lines.split&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;()&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# split the line into "size" and "username" pairs&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        homedirsize,serveruser &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; userdetails&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        homedirsize &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; string.atoi&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;userdetails&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;[&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;0&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;])&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;homedirsize &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; uppersizelimit&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;            sendEmail&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;serveruser,homedirsize&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;# Start of main routine&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;os.system&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'cd /home;du -s * 2&amp;gt;/dev/null  &amp;gt;  '&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;tmpfile &lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;findOverQuotas&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;tmpfile&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27744425-114717444262789716?l=gnurag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnurag.blogspot.com/feeds/114717444262789716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=27744425&amp;postID=114717444262789716' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default/114717444262789716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default/114717444262789716'/><link rel='alternate' type='text/html' href='http://gnurag.blogspot.com/2006/05/disk-utilization-notifications.html' title='disk utilization notifications'/><author><name>Anurag</name><uri>http://www.blogger.com/profile/05931261610945789635</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02388394225335000730'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27744425.post-114709757134704946</id><published>2006-05-08T19:34:00.000+05:30</published><updated>2006-05-10T11:25:32.960+05:30</updated><title type='text'>rsync backup script</title><content type='html'>We learnt a hard lesson (everyone does).. Always &lt;b&gt;backup&lt;/b&gt; your data.. Harddisks have a very bad habit of going br0ke when you most need it. I just made a small shell script that performs rsync and maintains a copy of data on another server.&lt;br /&gt;&lt;br /&gt;CC4 and Web are hostnames of 2 remote webservers which are to be backed up. To enable seamless copying of data across servers, we use passwordless ssh logins. For this purpose, i generated a ssh-key pair for root user, wherein the private key was passwordless. And made a copy of &lt;b&gt;/root/.ssh/id_dsa.pub&lt;/b&gt; on the remote servers as well.&lt;br /&gt;&lt;br /&gt;The shell script for actual backup is as follows. Its being invoked via crontab every sunday afternoon.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;## Script Backs up /etc/ and /var/ from CC4 and Web&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;LOG_FILE=&lt;/span&gt;&lt;span style="color: #000000;"&gt;/var/log/hbc-rsync.log     &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;## Keeps a copy in /var/log&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;TMP_LOG_FILE=&lt;/span&gt;&lt;span style="color: #000000;"&gt;/tmp/hbc-tmp-rsync.log  &lt;/span&gt;&lt;span style="font-style: italic;color: #808080;"&gt;## Mails the current session's log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;rm&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;CC4_BACKUP_DIR=&lt;/span&gt;&lt;span style="color: #000000;"&gt;/mnt/backup/cc4&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;WEB_BACKUP_DIR=&lt;/span&gt;&lt;span style="color: #000000;"&gt;/mnt/backup/web&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;CURRENT_DATE=&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;date&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;## Sync /etc/ and /var/ from CC4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #880088;"&gt;echo&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"Starting Backup of CC4 on : &lt;/span&gt;&lt;span style="color: #008000;"&gt;$CURRENT_DATE&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;rsync -avzlp -e &lt;/span&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;ssh&lt;/span&gt;&lt;span style="color: #000000;"&gt; --delete root@cc4:/var/ &lt;/span&gt;&lt;span style="color: #008000;"&gt;$CC4_BACKUP_DIR&lt;/span&gt;&lt;span style="color: #000000;"&gt;/var/   &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;2&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1 &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;1&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;rsync -avzlp -e &lt;/span&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;ssh&lt;/span&gt;&lt;span style="color: #000000;"&gt; --delete root@cc4:/etc/ &lt;/span&gt;&lt;span style="color: #008000;"&gt;$CC4_BACKUP_DIR&lt;/span&gt;&lt;span style="color: #000000;"&gt;/etc/   &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;2&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1 &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;1&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;## Sync /etc/ and /var/ from Web&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;CURRENT_DATE=&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;`&lt;/span&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;date&lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;`&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #880088;"&gt;echo&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"Starting Backup of Web on : &lt;/span&gt;&lt;span style="color: #008000;"&gt;$CURRENT_DATE&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;rsync -avzlp -e &lt;/span&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;ssh&lt;/span&gt;&lt;span style="color: #000000;"&gt; --delete root@web:/var/ &lt;/span&gt;&lt;span style="color: #008000;"&gt;$WEB_BACKUP_DIR&lt;/span&gt;&lt;span style="color: #000000;"&gt;/var/     &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;2&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1 &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;1&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;rsync -avzlp -e &lt;/span&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;ssh&lt;/span&gt;&lt;span style="color: #000000;"&gt; --delete root@web:/etc/ &lt;/span&gt;&lt;span style="color: #008000;"&gt;$WEB_BACKUP_DIR&lt;/span&gt;&lt;span style="color: #000000;"&gt;/etc/     &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;2&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1 &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;1&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;rsync -avzlp -e &lt;/span&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;ssh&lt;/span&gt;&lt;span style="color: #000000;"&gt; --delete root@web:/home/ &lt;/span&gt;&lt;span style="color: #008000;"&gt;$WEB_BACKUP_DIR&lt;/span&gt;&lt;span style="color: #000000;"&gt;/home/   &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;2&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;1 &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;1&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color: #808080;"&gt;##&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;cat&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #223388;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;$LOG_FILE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color: #cc00cc;"&gt;cat&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;$TMP_LOG_FILE&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt; mail root@localhost -s  &lt;/span&gt;&lt;span style="color: #dd0000;"&gt;"CC4 rsync results"&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27744425-114709757134704946?l=gnurag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnurag.blogspot.com/feeds/114709757134704946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=27744425&amp;postID=114709757134704946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default/114709757134704946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default/114709757134704946'/><link rel='alternate' type='text/html' href='http://gnurag.blogspot.com/2006/05/rsync-backup-script.html' title='rsync backup script'/><author><name>Anurag</name><uri>http://www.blogger.com/profile/05931261610945789635</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02388394225335000730'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27744425.post-114709319110325381</id><published>2006-04-01T14:14:00.000+05:30</published><updated>2006-05-09T17:13:58.263+05:30</updated><title type='text'>hello world!</title><content type='html'>mandatory hello world post..  :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27744425-114709319110325381?l=gnurag.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gnurag.blogspot.com/feeds/114709319110325381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=27744425&amp;postID=114709319110325381' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default/114709319110325381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27744425/posts/default/114709319110325381'/><link rel='alternate' type='text/html' href='http://gnurag.blogspot.com/2006/04/hello-world.html' title='hello world!'/><author><name>Anurag</name><uri>http://www.blogger.com/profile/05931261610945789635</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02388394225335000730'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>