<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Escrevo o que penso, aprendo ou uso.</title>
	<atom:link href="http://srpantano.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://srpantano.wordpress.com</link>
	<description>Tudo aquilo que eu acho importante no meu dia-a-dia do trabalho eu registro nesse blog para a posterioridade</description>
	<lastBuildDate>Wed, 14 Jul 2010 21:00:52 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='srpantano.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Escrevo o que penso, aprendo ou uso.</title>
		<link>http://srpantano.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://srpantano.wordpress.com/osd.xml" title="Escrevo o que penso, aprendo ou uso." />
	<atom:link rel='hub' href='http://srpantano.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Busca de arquivos no Linux e Unix</title>
		<link>http://srpantano.wordpress.com/2010/07/14/busca-de-arquivos-no-linux-e-unix/</link>
		<comments>http://srpantano.wordpress.com/2010/07/14/busca-de-arquivos-no-linux-e-unix/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 20:57:41 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[busca]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[linuix unix]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=213</guid>
		<description><![CDATA[Find Diferente do comando &#8220;ls&#8221;, que apenas lista o conteúdo, o &#8220;find&#8221; realiza uma busca por arquivos e diretórios. Existem algumas funcionalidades bastante úteis como fazer buscas com datas ou parte dos nomes dos arquivos. Existem parâmetros para isso &#8220;atime&#8221; que especifica dias e &#8220;amin&#8221; que especifica mínutos, ambos contados do último acesso, existe também <a href="http://srpantano.wordpress.com/2010/07/14/busca-de-arquivos-no-linux-e-unix/" class="excerpt-more-link">[&#8230;]</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=213&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1><span style="color:#ff0000;">Find</span></h1>
<p>Diferente do comando &#8220;ls&#8221;, que apenas lista o conteúdo, o &#8220;find&#8221; realiza uma busca por arquivos e diretórios. Existem algumas funcionalidades bastante úteis como fazer buscas com  datas ou parte dos nomes dos arquivos.</p>
<p>Existem parâmetros para isso &#8220;atime&#8221; que especifica dias e &#8220;amin&#8221; que especifica mínutos, ambos contados do último acesso, existe também o &#8220;ctime&#8221; e &#8220;cmin&#8221; que leva em consideração a última alteração do arquivos.</p>
<h2 id="nome"><span style="color:#ff0000;">Buscas simples</span></h2>
<hr />
<h4>Pelo nome do arquivo ou diretório</h4>
<pre class="brush: bash;">
$ find / -name *.txt
</pre>
<p>esse comando irá buscar todos os arquivos com extensão &#8220;txt&#8221;, onde &#8220;/&#8221; é o local a partir do qual a busca será realizado.</p>
<h4>Somente os diretórios</h4>
<p>A linha abaixo busca e exibe somente os diretórios:</p>
<pre class="brush: bash;">
$ find . -type d
</pre>
<p>o &#8220;.&#8221; diz que o diretório inicial é o diretório atual.</p>
<h4>Somente os arquivos</h4>
<p>A linha abaixo busca e exibe somente os arquivos:</p>
<pre class="brush: bash;">
$ find . -type f
</pre>
<h2 id="versoes"><span style="color:#ff0000;">Buscas baseadas em data</span></h2>
<hr />Existem alguns parâmetros uteis para buscas com datas: o &#8220;atime&#8221; que especifica dias e  o &#8220;amin&#8221; que especifica mínutos, ambos contados do último acesso. O &#8220;ctime&#8221; e &#8220;cmin&#8221; que leva em consideração a última alteração do arquivos. Os valores são descritos abaixo:</p>
<ul>
<li>+N: mais de N dias ou minutos;</li>
</ul>
<ul>
<li>N: entre N e N+1 dias ou minutos;</li>
</ul>
<ul>
<li>N: até N dias ou minutos.</li>
</ul>
<h4>Busca somente os modificados nas últimas 24 horas</h4>
<p>Serão exibidos apenas os arquivos e diretórios criados ou modificados nas últimas 24 horas.</p>
<pre class="brush: bash;">
$ find . -type f
</pre>
<h4>Busca somente os modificados nas últimos 10 minutos</h4>
<p>Serão exibidos apenas os arquivos e diretórios criados ou modificados nas últimos 10 minutos.</p>
<pre class="brush: bash;">
$ find . -mmin -5
</pre>
<h4>Busca somente hoje (a partir das 00:00h)</h4>
<pre class="brush: bash;">
$ find . -daystart
</pre>
<h4>Busca dos mais novos</h4>
<pre class="brush: bash;">
$ find . -newer /usr/local/teste.log
</pre>
<p>mostra os arquivos, no diretório atual, que são mais novos &#8220;que teste.log&#8221;.</p>
<h2 id="versoes"><span style="color:#ff0000;">Alternativas complexas</span></h2>
<hr />
<h4>Execução de um comando a partir do resultado da busca</h4>
<pre class="brush: bash;">
$ find . -name *.pdf -exec ls -l {} \;
</pre>
<p>o parâmetro &#8220;-exec&#8221; informa a execução do comando.</p>
<h4>Confirmação de execução de comando</h4>
<p>A opção de execução de comando é possível solicitar um confirmação para a execução.</p>
<pre class="brush: bash;">
$ find . -name *.gif -ok rm {} \;
</pre>
<p>Nesse caso, o resultado da busca será excluído, mas para isso será solicitado confirmação para isso:</p>
<pre class="brush: bash;">
&lt;rm ... . arquivo.gif &gt; ?
</pre>
<h4>Busca com exibição de lista</h4>
<p>A opção é similar ao comando &#8220;ls -lR *.pdf&#8221;, exibindo-os de forma estendida:</p>
<pre class="brush: bash;">
$ find . -name *.pdf -exec ls -l {} \;
</pre>
<h4>Copiar o resultado</h4>
<pre class="brush: bash;">
$ find . | cpio -pdumv /&lt;diretório-de-destino&gt;
</pre>
<p>Nessa opção o resultado será copiado para o diretório de destino.</p>
<br />Filed under: <a href='http://srpantano.wordpress.com/category/linux/'>Linux</a>, <a href='http://srpantano.wordpress.com/category/unix/'>unix</a> Tagged: <a href='http://srpantano.wordpress.com/tag/bash/'>bash</a>, <a href='http://srpantano.wordpress.com/tag/busca/'>busca</a>, <a href='http://srpantano.wordpress.com/tag/find/'>find</a>, <a href='http://srpantano.wordpress.com/tag/linuix-unix/'>linuix unix</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/213/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=213&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2010/07/14/busca-de-arquivos-no-linux-e-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>Contexto no Weblogic 11g</title>
		<link>http://srpantano.wordpress.com/2010/07/14/contextoweblogic11g/</link>
		<comments>http://srpantano.wordpress.com/2010/07/14/contextoweblogic11g/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 18:25:18 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[contexto]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[weblogic]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=208</guid>
		<description><![CDATA[No Weblogic, por padrão, em aplicações web o contexto é o mesmo do nome do war que foi instalado. Para ser alterar o contexto da aplicação é necessário criar um arquivo XML chamado weblogic.xml no WEB-INF que conterá o contexto a ser utilizado. Segue abaixo exemplo do arquivo: &#60;weblogic-web-app xmlns=&#34;http://xmlns.oracle.com/weblogic/weblogic-web-app&#34; xmlns:xsi=&#34;http://www.w3.org/2001/XMLSchema-instance&#34; xsi:schemalocation=&#34;http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd&#34;&#62; &#60;session-descriptor&#62;&#60;/session-descriptor&#62; &#60;jsp-descriptor&#62;&#60;/jsp-descriptor&#62; <a href="http://srpantano.wordpress.com/2010/07/14/contextoweblogic11g/" class="excerpt-more-link">[&#8230;]</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=208&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No Weblogic, por padrão, em aplicações web o contexto é o mesmo do nome  do war que foi instalado. Para ser alterar o contexto da aplicação é  necessário criar um arquivo XML chamado <em>weblogic.xml</em> no WEB-INF que conterá o  contexto a ser utilizado. Segue abaixo exemplo do arquivo:</p>
<pre class="brush: xml;">
&lt;weblogic-web-app xmlns=&quot;http://xmlns.oracle.com/weblogic/weblogic-web-app&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemalocation=&quot;http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd&quot;&gt;
  &lt;session-descriptor&gt;&lt;/session-descriptor&gt;
  &lt;jsp-descriptor&gt;&lt;/jsp-descriptor&gt;
  &lt;container-descriptor&gt;&lt;/container-descriptor&gt;
  &lt;context-root&gt;contextoapp&lt;/context-root&gt;
&lt;/weblogic-web-app&gt;
</pre>
<br />Filed under: <a href='http://srpantano.wordpress.com/category/desenvolvimento/'>Desenvolvimento</a>, <a href='http://srpantano.wordpress.com/category/desenvolvimento/java-desenvolvimento/'>Java</a>, <a href='http://srpantano.wordpress.com/category/web/'>Web</a> Tagged: <a href='http://srpantano.wordpress.com/tag/11g/'>11g</a>, <a href='http://srpantano.wordpress.com/tag/contexto/'>contexto</a>, <a href='http://srpantano.wordpress.com/tag/java/'>java</a>, <a href='http://srpantano.wordpress.com/tag/weblogic/'>weblogic</a>, <a href='http://srpantano.wordpress.com/tag/xml/'>xml</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/208/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/208/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=208&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2010/07/14/contextoweblogic11g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>Informações sobre o S.O. baseados em Unix</title>
		<link>http://srpantano.wordpress.com/2010/07/12/informacoes-sistemas-operacionais-baseados-em-unix/</link>
		<comments>http://srpantano.wordpress.com/2010/07/12/informacoes-sistemas-operacionais-baseados-em-unix/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 02:39:29 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Comandos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[uname]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=175</guid>
		<description><![CDATA[Conteúdo Básico Versões O comando &#8220;uname&#8221; é responsável por exibir informações dos sistemas operacionais baseados em Unix Básico uname -a Exibe todas as informações da máquina. No Solaris: $ uname -a SunOS hostMachine435 5.8 Generic_117350-18 sun4u sparc SWNW, Sun-Fire-280R No Linux: $ uname -a Linux samplehost 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 <a href="http://srpantano.wordpress.com/2010/07/12/informacoes-sistemas-operacionais-baseados-em-unix/" class="excerpt-more-link">[&#8230;]</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=175&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2><span style="color:#ff0000;">Conteúdo</span></h2>
<h2>
<hr /></h2>
<h3>
<ul>
<li><a href="#basico">Básico</a></li>
<li><a href="#versoes">Versões</a></li>
</ul>
</h3>
<p>O comando &#8220;uname&#8221; é responsável por exibir informações dos sistemas operacionais baseados em Unix</p>
<h2 id="basico"><span style="color:#ff0000;">Básico</span></h2>
<hr /><strong>uname -a<br />
</strong>Exibe todas as informações da máquina.</p>
<p>No Solaris:</p>
<pre class="brush: bash;">
$ uname -a
SunOS hostMachine435 5.8 Generic_117350-18 sun4u sparc SWNW, Sun-Fire-280R
</pre>
<p>No Linux:</p>
<pre class="brush: bash;">
$ uname -a
Linux samplehost 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 x86_64 x86_64 x86_64 GNU/Linux
</pre>
<p><strong>uname -r<br />
</strong>Exibe o host da máquina</p>
<pre class="brush: bash;">
$ uname -r
sample host
</pre>
<p><strong>uname -i<br />
</strong>No Linux irá exibir a arquitetura do SO é i_386 ou x86_64. No Solaris exibe qual tipo de servidor</p>
<pre class="brush: bash;">
$ uname -i
SUNW, Sun-Fire-V490
</pre>
<h2 id="versoes"><span style="color:#ff0000;">Versões</span></h2>
<hr /><strong>uname -r<br />
</strong>No Linux exibe o release do kernel:</p>
<pre class="brush: bash;">
$ uname -r
2.6.18-8.el5
</pre>
<p>No Solaris é a versão do SO:</p>
<pre class="brush: bash;">
$ uname -r
8.1
</pre>
<p>para a versão do kernel no Solaris utiliza-se:</p>
<pre class="brush: bash;">
$ uname -v
Generic_117350-18
</pre>
<br />Filed under: <a href='http://srpantano.wordpress.com/category/comandos/'>Comandos</a>, <a href='http://srpantano.wordpress.com/category/linux/'>Linux</a>, <a href='http://srpantano.wordpress.com/category/unix/'>unix</a> Tagged: <a href='http://srpantano.wordpress.com/tag/comandos-2/'>comandos</a>, <a href='http://srpantano.wordpress.com/tag/linux/'>Linux</a>, <a href='http://srpantano.wordpress.com/tag/uname/'>uname</a>, <a href='http://srpantano.wordpress.com/tag/unix/'>unix</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/175/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=175&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2010/07/12/informacoes-sistemas-operacionais-baseados-em-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>[Vivendo e aprendendo 1 - Unix based] Script de Transmissão via SFTP no terminal</title>
		<link>http://srpantano.wordpress.com/2009/12/11/transmissaosftpunix/</link>
		<comments>http://srpantano.wordpress.com/2009/12/11/transmissaosftpunix/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 20:16:15 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Profissional]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[Util]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[expect]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=162</guid>
		<description><![CDATA[A intenção desse blog sempre foi &#8220;guardar&#8221; para o futuro e obviamente compartilhar coisas que aprendemos no dia-a-dia do trabalho em TI. Nesse post esta detalhado um script simples que criei para transferir arquivos, via terminal, por SFTP entre dois servidores Unix &#8211; poderia ser Linux. O script é bem simples, mas a intenção de <a href="http://srpantano.wordpress.com/2009/12/11/transmissaosftpunix/" class="excerpt-more-link">[&#8230;]</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=162&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A intenção desse blog sempre foi &#8220;guardar&#8221; para o futuro e obviamente compartilhar coisas que aprendemos no dia-a-dia do trabalho em TI.</p>
<p>Nesse post esta detalhado um script simples que criei para transferir arquivos, via terminal, por SFTP entre dois servidores Unix &#8211; poderia ser Linux. O script é bem simples, mas a intenção de publica-lo foi explicar os macetes:</p>
<pre class="brush: bash;">
#!/usr/bin/bash

SFTP_USER=usuario
SFTP_HOST=10.0.0.1
SFTP_PASS=senha
SFTP_SRHOME=/home/origem
BATCH_FILE=batchtemp
DATE_WORK=`TZ=EST26EDTdate +%Y%m%d`
DEST_DIR=/home/destino
LOG_FILE=./log-`date +%Y%m%d%k%M%S`.log

function createBatchFile {

    cp /dev/null $BATCH_FILE
    echo &quot;cd $DEST_DIR&quot; &gt; $BATCH_FILE

    for foundedFiles in `find $SFTP_SRHOME -name &quot;*_$DATE_WORK_*&quot; -exec ls -tr {} \;`
    do
        echo &quot;put $foundedFiles&quot; &gt;&gt; $BATCH_FILE
    done

    echo &quot;bye&quot; &gt;&gt; $BATCH_FILE

}

function sendFTP {

    expect &amp;&gt; ${LOG_FILE} &lt;&lt;EOF
        spawn sftp -oBatchMode=no -b $BATCH_FILE $SFTP_USER@$SFTP_HOST
        expect {
            &quot;password:&quot;
            {
                send &quot;${SFTP_PASS}\n&quot;
            }
        }
    expect eof
EOF

}

createBatchFile
sendFTP
</pre>
<p>Explicando:</p>
<p>Endereço do servidor remoto &#8211; para onde irão ser transferidos os arquivos:</p>
<pre class="brush: bash;">
SFTP_HOST=10.0.0.1
</pre>
<p>Usuário do SFTP que irá se conectar no servidor remoto:</p>
<pre class="brush: bash;">
SFTP_USER=usuario
</pre>
<p>Senha do usuário de SFTP:</p>
<pre class="brush: bash;">
SFTP_PASS=senha
</pre>
<p>Local onde estão os arquivos que serão transferidos:</p>
<pre class="brush: bash;">
SFTP_SRHOME=/home/origem
</pre>
<p>Arquivo temporário que irá armazenar os comandos do SFTP:</p>
<pre class="brush: bash;">
BATCH_FILE=batchs=/home/origem
</pre>
<p>Data do dia anterior no formato AAAAMMDD:</p>
<pre class="brush: bash;">
DATE_WORK=`TZ=EST26EDT date +%Y%m%d`
</pre>
<p>Diretório destino dos arquivos a serem transferidos:</p>
<pre class="brush: bash;">
DEST_DIR=/home/destino
</pre>
<p>Arquivo que irá guardar o histórico da transferência, o nome do arquivo ser &#8220;log-AAAAMMDDHHMMSS.log&#8221;:</p>
<pre class="brush: bash;">
LOG_FILE=./log-`date +%Y%m%d%k%M%S`.log
</pre>
<p>Função que cria o arquivo temporário com os comandos do SFTP:</p>
<pre class="brush: bash;">
function createBatchFile {
</pre>
<p>Cria ou zera o arquivo de batch:</p>
<pre class="brush: bash;">
cp /dev/null $BATCH_FILE
</pre>
<p>Inclui ao arquivo de batch a instrução para mudar de diretório do servidor de destino:</p>
<pre class="brush: bash;">
echo &quot;cd $DEST_DIR&quot; &gt; $BATCH_FILE
</pre>
<p>Traz uma lista de arquivos que contenham em seu nome a data do dia anterior e os armazena na variável <em>foundedFiles</em>, um detalhe importe é o &#8220;do&#8221; na linha seguinte, isso é obrigatório! Caso se deseje o &#8220;do&#8221; na mesma linha do &#8220;for&#8221; é necessário haver um &#8220;;&#8221;, ou seja <em>&#8220;for foundedFiles in `find $SFTP_SRHOME -name &#8220;*_$DATE_WORK_*&#8221; -exec ls -tr {} \;`; do&#8221;</em></p>
<p>Em seguida é adicionado ao arquivo de batch o comando <em>&#8220;put &lt;nome do arquivo a ser transferido&gt;&#8221;</em> :</p>
<pre class="brush: bash;">
for foundedFiles in `find $SFTP_SRHOME -name &quot;*_$DATE_WORK_*&quot; -exec ls -tr {} \;`
  do
    echo &quot;put $foundedFiles&quot; &gt;&gt; $BATCH_FILE
done
</pre>
<p>Finaliza o arquivo batch com a instrução de saída do SFTP.</p>
<pre class="brush: bash;">
echo &quot;bye&quot; &gt;&gt; $BATCH_FILE
</pre>
<p>Função que efetivamente envia os arquivos, a função o comando SFTP se conecta ao servidor remoto e executa as instruções do arquivo batch</p>
<pre class="brush: bash;">
function sendFTP {
</pre>
<p>O comando <em>expect </em>cria um espécie de robô que responde aos prompts do aplicativo, nesse caso ele faz log no arquivo LOG_FILE. É interessante notar que a opção &#8220;&amp;&gt;&#8221; diz que a saída padrão e de erro são armazenadas nesse mesmo arquivo:</p>
<pre class="brush: bash;">
expect &amp;&gt; ${LOG_FILE} &lt;&lt;EOF
</pre>
<p>A diretiva spawn habilita o preenchimento automático de prompts de aplicação, como uma espécie de robô. Nesse caso o SFTP solicita a senha do usuário com  &#8220;password:&#8221; e a instrução <em>send</em> envia a resposta ao prompt</p>
<p>O &#8220;<em>expect eof</em>&#8221; aponta o final do tratamento de prompts, e o <em>EOF </em>termina o expect, importante o EOF tem que estar na <span style="text-decoration:underline;">primeira coluna</span>, ou seja, não pode estar identado:</p>
<pre class="brush: bash;">
    expect eof
EOF
</pre>
<p>As linhas abaixo executam as funções:</p>
<pre class="brush: bash;">
createBatchFile
sendFTP
</pre>
<br />Publicado emDicas, Profissional, unix, Util Tagged: bash, expect, FTP, Linux, shell, unix <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=162&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2009/12/11/transmissaosftpunix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>[Unix based] Busca e leitura dos arquivos</title>
		<link>http://srpantano.wordpress.com/2009/11/21/busca-e-leitura-dos-arquivos/</link>
		<comments>http://srpantano.wordpress.com/2009/11/21/busca-e-leitura-dos-arquivos/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 16:37:12 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Util]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=154</guid>
		<description><![CDATA[Como utilizo muito terminal  Solaris no trabalho e Ubuntu em casa, um pequeno script é muito útil quando fazemos uma busca por arquivos e no resultado queremos saber qual deles tem um determinado texto dentro: $ for i in `find . -name '*.trc' -ls &#124; grep 'Apr 22' &#124; awk -F" " '{ print $9 <a href="http://srpantano.wordpress.com/2009/11/21/busca-e-leitura-dos-arquivos/" class="excerpt-more-link">[&#8230;]</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=154&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Como utilizo muito terminal  Solaris no trabalho e Ubuntu em casa, um pequeno script é muito útil quando fazemos uma busca por arquivos e no resultado queremos saber qual deles tem um determinado texto dentro:</p>
<p><code>$ for i in `find . -name '*.trc' -ls | grep 'Apr 22' | awk -F" " '{ print $9 }'`; do grep "texto" $i; done</code></p>
<p>excplicando:</p>
<p><strong>for i in</strong> # loop com a iteração em i<strong></strong></p>
<p style="padding-left:30px;"><strong>`find . -name &#8216;*.trc&#8217; -exec -ls -l {}; | grep &#8216;Apr 22&#8242; | aw&#8217;k -F&#8221; &#8221; &#8216;{ print  $8}&#8217;`;</strong><em> </em> # primeiro procure, a partir do diretório atual todos arquivos com extensão .trc e os mostre utilizando um &#8220;ls -l&#8221;, na lista filtre os arquivos pela data de 22 de abril e por fim exiba somente a 8 coluna da lista, usando espaço como separador de colunas.</p>
<p style="padding-left:30px;"><strong>do grep &#8220;texto&#8221; $i;</strong> # a partir do resultado da linha acima faz uma busca do texto em cada arquivo<strong></strong></p>
<p><strong>done</strong> # final do for</p>
<p>Um observação importante é que a data e a quantidade de colunas pode variar de acordo com o sistema operacional.</p>
<br />Publicado emDicas, Util Tagged: grep, Linux, unix <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=154&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2009/11/21/busca-e-leitura-dos-arquivos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>Estratégia empresarial</title>
		<link>http://srpantano.wordpress.com/2009/11/20/estrategia-empresarial/</link>
		<comments>http://srpantano.wordpress.com/2009/11/20/estrategia-empresarial/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 01:09:21 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Gestão]]></category>
		<category><![CDATA[empreendorismo]]></category>
		<category><![CDATA[estratégia]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=148</guid>
		<description><![CDATA[Durante a semana do Empreendedorismo tive a oportunidade de visitar uma pequena empresa que não é muito nova e desde seu nascimento utilizou uma estratégia profissional baseada em uma única experiência profissional do sócios e isso esta lhe causando muitos transtornos: falta de clientes, nenhum retorno financeiro, mesmo tendo um produto bom e completo. Muitas <a href="http://srpantano.wordpress.com/2009/11/20/estrategia-empresarial/" class="excerpt-more-link">[&#8230;]</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=148&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Durante a semana do Empreendedorismo tive a oportunidade de visitar uma pequena empresa que não é muito nova e desde seu nascimento utilizou uma estratégia profissional baseada em uma única experiência profissional do sócios e isso esta lhe causando muitos transtornos: falta de clientes, nenhum retorno financeiro, mesmo tendo um produto bom e completo.<br />
Muitas pessoas sonham em ter sua própria empresa &#8211; e esse é um sonho muito bom &#8211; mas com um mundo altamente competitivo e com grandes cabeças pensantes trabalhando para grandes corporações eu acredito que, mesmo sendo uma empresa de fundo de quintal é necessário ter planejamento estratégico e de marketing ou algum diferencial no seu produto ou serviço que proporcione um novo mercado.<br />
Em muitas ocasiões o ditado &#8220;de boas intenções o inferno esta cheio&#8221; cai bem para muitas situações do mundo empresarial, onde o amadorismo pode levar a grandes decepções, perda de dinheiro e energia.<br />
Um outro grande ponto com relevância é a possibilidade de adaptação ao &#8220;meio&#8221; onde todos os tomadores de decisão tem que estar preparados para grandes mudanças, ver com bons olhos e estar aberto para novas possibilidades, e nunca esquecer que empreendedor ou um funcionário, por mais simples que for o cargo, somos parte de um organismo vivo e temos que temos que estar em comunhão com todas as partes para que o todo funcione perfeitamente.<br />
Para finalizar, segue uma sugestão de consultoria para empreendedores que é o <a href="www.sebrae.com.br" target="_blank">SEBRAE</a> e o livro <a href="http://www.administradores.com.br/livros/a_estrategia_do_oceano_azul/340/" target="_blank">Estratégia do Oceano Azul</a> que trata sobre criar novos mercados de consumo e a &#8220;necessidade&#8221; do produto/serviço para os clientes,</p>
<br />Publicado emGestão Tagged: empreendorismo, estratégia, Gestão <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/148/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=148&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2009/11/20/estrategia-empresarial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>Procedure Oracle comentada</title>
		<link>http://srpantano.wordpress.com/2009/09/21/procedure-oracle-comentada/</link>
		<comments>http://srpantano.wordpress.com/2009/09/21/procedure-oracle-comentada/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 21:32:21 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[BD]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PLSql]]></category>
		<category><![CDATA[procedure]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=104</guid>
		<description><![CDATA[Segue uma procedure Oracle funcional que faz expurgo e cria novas partições para uma determinada tabela, isso é muito útil como fonte de consulta: CREATE OR REPLACE PROCEDURE pr_purge_gwbroadgacpartitions (dataref NUMBER) IS TYPE tVetor IS VARRAY(100) of VARCHAR2(5); -- Cria um tipo como array. mmddref VARCHAR2(4); dataref_ini DATE; dataref_end DATE; part_name_one VARCHAR2(9); sqlcmd VARCHAR2(500); year_ini <a href="http://srpantano.wordpress.com/2009/09/21/procedure-oracle-comentada/" class="excerpt-more-link">[&#8230;]</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=104&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Segue uma procedure Oracle funcional que faz expurgo e cria novas partições para uma determinada tabela, isso é muito útil como fonte de consulta:</p>
<pre class="brush: sql;">
CREATE OR REPLACE PROCEDURE pr_purge_gwbroadgacpartitions (dataref NUMBER) IS

TYPE tVetor IS VARRAY(100) of VARCHAR2(5); -- Cria um tipo como array.

mmddref VARCHAR2(4);
dataref_ini DATE;
dataref_end DATE;
part_name_one VARCHAR2(9);
sqlcmd VARCHAR2(500);
year_ini VARCHAR2(4);
year_now VARCHAR2(4);
instances_pa tVetor; -- Define uma variável como array
v_future_date VARCHAR2(9);
num_rows integer;

--Cursores que fazem interação no resultado do SELECT
CURSOR parts_cur_same_year(part_name IN VARCHAR2, inst IN VARCHAR2) RETURN  user_tab_partitions%ROWTYPE IS
SELECT * FROM user_tab_partitions WHERE table_name = 'STATUS_REPO' and partition_name &amp;amp;lt; part_name and partition_name LIKE inst ORDER BY partition_name ASC;

CURSOR parts_cur_another_year(part_name IN VARCHAR, inst IN VARCHAR2) RETURN user_tab_partitions%ROWTYPE IS
SELECT * FROM user_tab_partitions WHERE table_name = 'STATUS_REPO' and partition_name &amp;amp;gt; part_name and partition_name LIKE inst ORDER BY partition_name ASC;

parts_record user_tab_partitions%ROWTYPE; -- Define a variável como tipo linha da tabela

BEGIN

dataref_ini := TO_DATE(dataref,'YYYYMMDD') - 91; -- Transforma o parâmetro informado como string em data e subtrai dias.

year_ini := TO_CHAR(dataref_ini, 'YYYY'); -- Recupera o ano da data como string.

year_now := TO_CHAR(SYSDATE, 'YYYY');

instances_pa := tVetor('PART1', 'PART2', 'PART3', 'PART4', 'PART5'); -- Inicializa o array

--Verifica o ano do parametro e o mesmo do ano atual da maquina, essa verificacao e importante porque a particao nao informa o ano.
IF year_ini = year_now THEN

mmddref := TO_CHAR(dataref_ini,'MMDD'); -- Mes e ano da data informada.

FOR i IN instances_pa.FIRST..instances_pa.LAST -- navega entre as instâncias do gateway.
LOOP

part_name_one := instances_pa(i) || mmddref; -- Nome da instancia mais dia e mes.

OPEN parts_cur_same_year(part_name_one, instances_pa(i) || '%'); -- Executa o cursor

LOOP -- Faz loop do cursor
BEGIN
FETCH parts_cur_same_year INTO parts_record; -- Armazena cada linha  na variável

EXIT WHEN (parts_cur_same_year%NOTFOUND) OR (parts_cur_same_year%ROWCOUNT = 0);

sqlcmd := 'ALTER TABLE STATUS_REPO DROP PARTITION ' || parts_record.partition_name; -- Apaga a partição

EXECUTE IMMEDIATE sqlcmd;

EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(sqlerrm);
END;

COMMIT;

END LOOP;

CLOSE parts_cur_same_year;

END LOOP;

ELSE

dataref_end := TO_DATE(dataref,'YYYYMMDD') + 91; -- Caso os anos sejam diferentes ele dropa as particoes a frente

mmddref := TO_CHAR(dataref_end,'MMDD');

FOR i IN instances_pa.FIRST..instances_pa.LAST
LOOP

part_name_one := instances_pa(i) || mmddref;

OPEN parts_cur_another_year(part_name_one, instances_pa(i) || '%');

LOOP
BEGIN
FETCH parts_cur_another_year INTO parts_record;

EXIT WHEN (parts_cur_another_year%NOTFOUND) OR (parts_cur_another_year%ROWCOUNT = 0);

sqlcmd := 'ALTER TABLE STATUS_REPO DROP PARTITION ' || parts_record.partition_name;

EXECUTE IMMEDIATE sqlcmd;

EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(sqlerrm);
END;

END LOOP;

COMMIT;

CLOSE parts_cur_another_year;

END LOOP;

END IF;

-- Verifica se existe a particao DD+30, caso não, cria
FOR i IN instances_pa.FIRST..instances_pa.LAST
LOOP

mmddref := TO_CHAR(SYSDATE+30,'MMDD');

SELECT COUNT(*) INTO num_rows FROM USER_TAB_PARTITIONS WHERE TABLE_NAME = 'STATUS_REPO' AND PARTITION_NAME = '' || instances_pa(i) || mmddref || '' ORDER BY PARTITION_NAME ASC; --Armazena o resultado na variável num_rows

IF num_rows &amp;amp;lt;= 0 THEN

sqlcmd := 'ALTER TABLE ''STATUS_REPO'' add PARTITION ' || instances_pa(i) || mmddref || ' VALUES ('''|| instances_pa(i) || mmddref ||''') ' || 'TABLESPACE ABCD PCTFREE 1 PCTUSED 99 INITRANS 1 MAXTRANS 2 STORAGE (INITIAL 1048576 NEXT 1064960 PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS 2147483645 )'; --Cria uma nova partição

EXECUTE IMMEDIATE sqlcmd;

COMMIT;

END IF;

END LOOP;

END;
</pre>
<br />Publicado emDesenvolvimento Tagged: BD, Oracle, PLSql, procedure <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=104&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2009/09/21/procedure-oracle-comentada/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>Shell script e SQLPlus</title>
		<link>http://srpantano.wordpress.com/2009/09/04/shell-script-e-sqlplus/</link>
		<comments>http://srpantano.wordpress.com/2009/09/04/shell-script-e-sqlplus/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 17:25:31 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Util]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[sqlpuls]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=94</guid>
		<description><![CDATA[É bem comum para quem trabalha com Unix ou Linux fazer script para executar um select em banco de dados - no nosso caso utilizaremos o Oracle via SQLPlus - e salvar o resultado em aquivo texto.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=94&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>É bem comum para quem trabalha com Unix ou Linux fazer script para executar um select em banco de dados &#8211; no nosso caso utilizaremos o Oracle via SQLPlus &#8211; e salvar o resultado em aquivo texto.</p>
<p>Segue um exemplo:</p>
<pre>DATAREF=$1
ORACLE_SID=BD1
ORA_USER=USER_A

if [ -z $1 ]; then
 sqlplus $ORA_USER@$ORACLE_SID @sqlF.sql &lt; .db.${ORA_USER}.${ORACLE_SID}.pwd 1&gt;/dev/null
else
 sqlplus $ORA_USER@$ORACLE_SID @sql.sql $DATAREF &lt; .db.${ORA_USER}.${ORACLE_SID}.pwd 1&gt;/dev/null
fi   

tr -d ' ' &lt; /home/User/tmp.txt &gt; /home/User/out.txt
rm /home/User/tmp.txt</pre>
<p>Explicação:</p>
<p>Primeiramente são inicializadas as variáveis, nesse caso  <em>DATAREF </em>recebe o primeiro parâmetro informado na execução, as outras variáveis armazenam o nome do usuário e do banco.<br />
Temos dois comportamentos diferentes caso a chamada do script tenha ou não a data informada como parâmetro, para isso o if com &#8220;-z&#8221; verifica se é nulo ou o tamanho é igual a zero.<br />
Em seguida é feita a conexão com o BD via SQLPlus, para isso é passado o <em>usuário@nome-do-banco</em>, o script SQL que será executado <em>é o @sqlF.sql</em> seguido do arquivo que contém a senha para conexão, perceba que a senha é gravada em um arquivo oculto (que inicia por &#8220;.&#8221;, <em>.db.${ORA_USER}.${ORACLE_SID}.pwd</em>). Para finalizar, é configurado para não mostrar o sysout &#8220;<em>1&gt;/dev/null</em>&#8220;.<br />
Ao final temos uma situação interessante, é preciso retirar todos os espaços em branco do arquivo, para isso o comandodo bash &#8220;tr&#8221; é perfeito!</p>
<br />Publicado emUtil Tagged: bash, Linux, sqlpuls, unix <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=94&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2009/09/04/shell-script-e-sqlplus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>Google no terminal</title>
		<link>http://srpantano.wordpress.com/2009/08/28/google-no-terminal/</link>
		<comments>http://srpantano.wordpress.com/2009/08/28/google-no-terminal/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 14:58:31 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Interessante]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=88</guid>
		<description><![CDATA[Hoje fiquei extasiado ao ver uma das ideias mais interessantes e criativas que eu vi nos últimos tempos. Um desenvolvedor chamado Stefan Grothkopp criou uma interface do Google baseado em terminal. O site se chama Goosh de &#8220;Google Shell&#8221;, ele é feito em javascprit e com ele é possível até ler o Gmail. Muito bom, <a href="http://srpantano.wordpress.com/2009/08/28/google-no-terminal/" class="excerpt-more-link">[&#8230;]</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=88&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hoje fiquei extasiado ao ver uma das ideias mais interessantes e criativas que eu vi nos últimos tempos. Um desenvolvedor chamado <a href="mailto:grothkopp@gmail.com">Stefan Grothkopp</a> criou uma interface do Google baseado em terminal.</p>
<p>O site se chama <a href="http://Goosh" target="_blank">Goosh </a>de &#8220;Google Shell&#8221;, ele é feito em javascprit e com ele é possível até ler o Gmail. Muito bom, vale a pena conferir!<br />
É possível se logar usando a conta do Gmail e personalizar a língua, quantidade de respostas, realizar buscas em blogs, news, vídeos, etc. Cada busca é separada em um diretório, semelhante ao terminal.</p>
<pre>guest@goosh.org:/web&gt;</pre>
<p>Existe o comando &#8220;set&#8221; que permite as customizações e o comando &#8220;help&#8221; para maiores detalhes.</p>
<br />Publicado emInteressante, Web Tagged: gmail, Google, terminal, Web <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=88&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2009/08/28/google-no-terminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
		<item>
		<title>Imprimir em pdf</title>
		<link>http://srpantano.wordpress.com/2009/08/20/imprimir-em-pdf/</link>
		<comments>http://srpantano.wordpress.com/2009/08/20/imprimir-em-pdf/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 20:10:29 +0000</pubDate>
		<dc:creator>srpantano</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Util]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[impressão]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://srpantano.wordpress.com/?p=77</guid>
		<description><![CDATA[Todo mundo em algum momento precisa &#8220;imprimir&#8221; documentos em formato &#8220;.pdf&#8221;. Uma ferramenta bem interessante para isso é o doPDF, uma ferramenta livre, leve, simples e sem propagandas. Recomendo! doPDF: http://www.dopdf.com/ Publicado emDicas, Util, Windows Tagged: Dicas, impressão, pdf, software, Windows<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=77&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Todo mundo em algum momento precisa &#8220;imprimir&#8221; documentos em formato &#8220;.pdf&#8221;. Uma ferramenta bem interessante para isso é o <strong>doPDF</strong>, uma ferramenta livre, leve, simples e sem propagandas. Recomendo!</p>
<p>doPDF: <a title="Imprimir em pdf" href="http://www.dopdf.com/" target="_blank">http://www.dopdf.com/</a></p>
<br />Publicado emDicas, Util, Windows Tagged: Dicas, impressão, pdf, software, Windows <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/srpantano.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/srpantano.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/srpantano.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/srpantano.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/srpantano.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/srpantano.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/srpantano.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/srpantano.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/srpantano.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/srpantano.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/srpantano.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/srpantano.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/srpantano.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/srpantano.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=srpantano.wordpress.com&amp;blog=1316466&amp;post=77&amp;subd=srpantano&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://srpantano.wordpress.com/2009/08/20/imprimir-em-pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/077cb9e4603bbe9a972de8fd29802dd9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">srpantano</media:title>
		</media:content>
	</item>
	</channel>
</rss>
