tag:blogger.com,1999:blog-66175777699373644172024-03-19T07:53:38.586-03:00Blog do ÉderTecnologia, banco de dados, linux, redes, servidores, java, androidAnonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-6617577769937364417.post-2799668570256214952016-01-04T11:26:00.000-02:002016-01-04T11:26:18.065-02:00Casa novaOlá;<br />
<br />
Decidi colocar meu blog lá no wordpress, então agora, as novas postagens serão lá, segue o link:<br />
<a href="https://ederpaulopereira.wordpress.com/">https://ederpaulopereira.wordpress.com/</a><br />
<br />
Até mais;<br />
<br />
ÉderAnonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-91257607700701230052015-12-29T21:01:00.001-02:002015-12-29T21:01:15.413-02:00Android: tipos de gerenciadores de layouts no Android<br />
<br />
Quando comecei a desenvolver no android, tive algumas dúvidas relativas á qual gerenciador de layout usar para as activities. Antes disso, devemos entender dois atributos presentes em qualquer gerenciador de layout: android:layout_width e android:layout_height. Estes atributos, definem a largura e altura que o gerenciador de layout vai ocupar dentro da tela do aparelho. Os valores possíveis, podemos especificar em número, ou então, usamos outros 2 valores. São eles: wrap_content ou match_parent. O fill_parent, é a mesma coisa que o match_parent, mas só foi usado até o android 2.1.<br />
<br />
O wrap_content, vai ajustar ao conteúdo dentro dele, ou seja, se houver pouco conteúdo, vai ocupar pouco espaço, se houver muito conteúdo, pode usar mais espaço.<br />
<br />
Já o match_parent, como o nome sugere, vai usar toda a área restante do 'pai', ou seja, do viewgroup que ele está contido.<br />
<br />
Se definirmos um valor fixo, então o tamanho vai se ajustar conforme a densidade da tela do dispositivo. Não é recomendado usar valores fixos, pois isso vai atrapalhar para a adaptação em dispositivos de telas com tamanhos diferentes. Mesmo assim, se é inevitável, não declare o valor diretamente no arquivo xml do layout, e sim, em 'res/values/dimens.xml', e então no xml do layout, apenas chame assim:<br />
<br />
android:layout_width='@dimen/valor_definido'<br />
<br />
No próximo post, irei falar sobre cada gerenciador de layout disponível atualmente para desenvolver no android.Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-74926888294556699282015-12-29T21:01:00.000-02:002015-12-29T21:01:08.590-02:00Aonde eu estou? Aonde eu estava?Muitos iniciantes no mundo linux, assim como eu era, acabam se perdendo na navegação entre diretórios dentro da linha de comando. Isso é bem incômodo, pois muitas vezes não temos um pc com internet por perto, especialmente quando estamos dentro do datacenter. Ah, servidores dedicados, dificilmente têm um ambiente gráfico rodando, pois isto consome recursos preciosos dos servidores. Bom, para isso, temo o comando 'pwd', o qual imprime no próprio terminal o caminho atual.<br />
<br />
Outro fato do dia-a-dia de sysadmins em geral, é que às vezes, estamos navegando freneticamente nos subdiretórios de uma pasta, aí do nada, voltamos para uma pasta totalmente diferente; por azar, temos que voltar exatamente onde estávamos. Ah como é um parto descobrir onde estávamos, então temos o comando 'cd -', que nos leva no último diretório que estávamos antes de dar um cd <diretório atual>.<br />
<br />
São pequenos macetes que agilizam nosso dia, fazendo sobrar tempo para outras tarefas mais importantes.Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-26037048839780626492015-02-02T21:31:00.000-02:002015-02-02T21:31:40.886-02:00Backup no Postgresql - usando o pg_dumpAnteriormente, publiquei <a href="http://penteurbano.com.br/postgresql-instalacao-no-debian-7-wheezy/" target="_blank">aqui</a> um tutorial para a instalação do postgresql no Debian 7 wheezy. Agora, vou mostrar uma maneira simples de realizar o backup de suas bases, aliás, todo DBA que se preze, deve saber (e bem) como realizar um backup, e não menos importante, que este backup funcione!<br />
<br />
Bom, com o terminal aberto, digite:<br />
<br />
su postgres<br />
psql<br />
\l+<br />
<br />
Primeiro, logamos como usuário postgres, depois chamamos o psql para entrarmos no console do banco de dados, depois, usamos o \l+ para nos mostrar as nossas bases de dados com os detalhes, como mostrado na figura abaixo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8mdcDwZ85Nb1QMrFTuCBZJjS8lD-DISXSDmHAFQHyvmHnnxond_9M1u_029-XZu_5q8wYqB1y4qyiwWH4CT4AVhv-A3CJ-h56HPxc8lJ43NzgKWDQfWMmO0KtELBho3tmsKoQMPok8EU/s1600/postgres_inicio.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8mdcDwZ85Nb1QMrFTuCBZJjS8lD-DISXSDmHAFQHyvmHnnxond_9M1u_029-XZu_5q8wYqB1y4qyiwWH4CT4AVhv-A3CJ-h56HPxc8lJ43NzgKWDQfWMmO0KtELBho3tmsKoQMPok8EU/s1600/postgres_inicio.png" height="172" width="320" /></a></div>
<br />
Iremos fazer o backup da base chamada testes. Agora, podemos sair do psql, digitando \q.<br />
<br />
Como já estamos como usuário postgres, então, chamamos o utilitário pg_dump, que é o responsável por realizar o backup do banco de dados. Sua sintaxe é assim:<br />
<br />
pg_dump testes -F c >> /tmp/backup.sql<br />
<br />
Onde:<br />
pg_dump: é o utilitário de backup;<br />
testes: o nome da base de dados;<br />
F: file, vai criar um arquivo;<br />
c: vai fazer a compactação dele<br />
>> : vai jogar a saida em um arquivo, neste caso, backup.sql dentro da pasta /tmp. Claro, isso é para fins didáticos, o ideal é ter um diretório só para guardar seus backups.<br />
Veja imagem:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGgE1jK2zAD3pj724tufh7kApIKSjKkIvLYH047xOiQhmtluV5O3bLqlLnpWdXhPbC4h3vp7K-dq2Zgx2db6ggk-J2nqFyMB3if5sBz-_zRT9wjUfiUljuQqJ2-Gl-IdNzCMP6rQljBaA/s1600/backup_feito.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGgE1jK2zAD3pj724tufh7kApIKSjKkIvLYH047xOiQhmtluV5O3bLqlLnpWdXhPbC4h3vp7K-dq2Zgx2db6ggk-J2nqFyMB3if5sBz-_zRT9wjUfiUljuQqJ2-Gl-IdNzCMP6rQljBaA/s1600/backup_feito.png" height="172" width="320" /></a></div>
<br />
Nada mal, de 15Mb para 571Kb. Tenho bases de 50Gb que geram um dump de aproximadamente 5Gb. Agora, vamos testar se nosso backup está funcionando.<br />
<br />
Para isso, vamos criar um banco chamado teste1:<br />
psql -U postgres -c 'create database teste1;'<br />
<br />
E agora, usamos o pg_restore:<br />
<br />
pg_restore -d teste1 /tmp/backup.sql<br />
<br />
Vai demorar para fazer o restore, depois, teremos a base restaurada de mesmo tamanho.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg88RsMG6ysv_dH64GCGExfGSV45M8zTBMXNUFGh06_GFO172178oVM6daihmc4awr5-f9dOJkbMhst_B9JNdGC7o4PGilLyamo6pi1OBYRmyaF6k-aJlTOuGW296yzaLfidpq6aOn7C4Q/s1600/restore.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg88RsMG6ysv_dH64GCGExfGSV45M8zTBMXNUFGh06_GFO172178oVM6daihmc4awr5-f9dOJkbMhst_B9JNdGC7o4PGilLyamo6pi1OBYRmyaF6k-aJlTOuGW296yzaLfidpq6aOn7C4Q/s1600/restore.png" height="172" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Como podemos ver, não é tão complicado assim. Agora, basta prestar atenção, e testar os backups, de nada adianta você fazer e não funcioar quando precisar.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
at;</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Eder</div>
Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-25831221868398244592014-05-13T00:45:00.000-03:002014-05-13T00:45:06.307-03:00Estatísticas com o monitorix<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;">Já publiquei anteriormente uma ótima ferramenta para monitoramento de servidores, que é o nmon. Entretanto, em minhas andanças pela internet, me deparei com o monitorix, um sistema que roda no linux para monitoramento da saúde do servidor, e o mais legal, utiliza gráficos pra isso. Muito ideal para monitorarmos aquele proxy e saber qual o consumo de banda real que está havendo. Vamos à ele:</span></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br /></span></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;">No Centos, tenha instalado o repositório EPEL ou RPMforge e tudo atualizado. Depois rode:</span></span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br /></span></span>
<pre><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;">yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI perl-DBI
perl-XML-Simple perl-Config-General perl-HTTP-Server-Simple perl-IO-Socket-SSL</span></span></pre>
<pre><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></span></pre>
<pre><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;">Depois:</span></span></pre>
<pre><span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></span></pre>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><span style="font-size: small;">yum install monitorix</span></span><br />
<br />
Feito isso, acesse seu servidor (cuide para que o firewall ou o SELinux não estejam atrapalhando) no seguinte endereço:<br />
<br />
http://ip-do-servidor:8080/monitorix<br />
<br />
O arquivo de configuração econtra-se no /etc/monitorix/monitorix.conf. Nele temos todos os parâmetros para monitorar, como partições, interfaces de rede, etc. Fácil não?<br />
<br />
Até a próxima.Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-62824541419529960272014-05-13T00:34:00.000-03:002014-05-13T00:34:21.790-03:00Estatísticas completas com nmonRecentemente fui apresentado ao nmon. Posso dizer que o linux tem todas as informações que o nmon traz, mas talvez não da forma 'elegante' que só ele traz. Como todo bom administrador de sistemas linux, devemos saber o que ocorre com nossos servidores.<br />
<br />
Fiz isso para o Centos 6.4 de 64 bits, vamos ao comando:<br />
<br />
rpm -Uhv http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/nmon-14g-1.el6.rf.x86_64.rpm<br />
<br />
Vai baixar e instalar o binário pronto.<br />
<br />
Agora, só teclar os atalhos, que já vem na tela inicial, 'd' para disco, 'n' para rede, 'c' para cpu, estes são os que mais uso. Claro, conservadores irão me dizer pra usar o dstat, ou vmstat, mas que ficou mais fácil de entender ficou.<br />
<br />
Até a próxima.Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-63659100449476977512014-05-13T00:13:00.001-03:002014-05-13T00:13:13.338-03:00Repositório EPEL no Centos 6.4Normalmente precisamos instalar alguns utilitários no Centos, sendo por exemplo, o htop, uma alternativa ao top do linux, porém com mais algumas informações e facilidades. Entretanto, por padrão não há nos repositórios default este pacote, sendo necessária a adição do EPEL no Centos.<br />
Para isso, rode no terminal o seguinte comando:<br />
<br />
Para 64 bits:<br />
<br />
rpm -Uhv http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm<br />
<br />
Para 32 bits;<br />
<br />
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm<br />
<br />
Após, limpamos o cache do yum:<br />
<br />
yum clean all<br />
<br />
Atualizamos novamente:<br />
<br />
yum update -y<br />
<br />
E instalamos o htop:<br />
<br />
yum install htop -y<br />
<br />
Até a próxima. Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-15603549649418667012014-05-12T23:56:00.000-03:002014-05-12T23:56:22.183-03:00Alterar porta do postgresqlRecentemente tive que fazer uma modificação no postgresql por causa da replicação usando o pg-pool. Entretanto, só alterar no postgresql.conf não resovle. Temos que editar outro arquivo. Para isso vamos ao comando:<br />
<br />
vi /etc/init.d/postgresql-9.3<br />
<br />
Localize a linha que contém o conteúdo: PGPORT=5432, e mude para a mesma que colocaste no postgresql.conf. Feito isso, reinicie o serviço e estará tudo ok.<br />
<br />
Até a próxima.Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-6241343064417615562013-10-09T15:12:00.001-03:002013-10-09T15:12:31.288-03:00Cópia entre servidores<p>Muitas vezes temos que efetuar a cópia de arquivos entre servidores que tem somente o modo texto.<br>
Para isso, temos o comando 'scp' que faz esta tarefa.<br>
Vamos a um exemplo:<br>
Desejamos copiar o arquivo backup.tar para o servidor 192.168.200.2.<br>
O comando seria:<br>
scp backup.tar root@192.168.200.2/opt/<br>
Este comando copia o backup.tar para a pata opt no servidor de destino.<br>
É isso aí!</p>
Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-10888664488141575222013-10-08T07:29:00.002-03:002013-10-08T07:29:21.754-03:00Compactação e backup no linux<div style="text-align: justify;">
A realização do backup é o processo de juntar todas as informações selecionadas e armazenar em</div>
<div style="text-align: justify;">
um local seguro. Existem diversas maneiras e ferramentas para isso, mas vamos aqui conhecer o tar,</div>
<div style="text-align: justify;">
um utilitário de compactação de arquivos muito útil para backups.</div>
<div style="text-align: justify;">
Por exemplo, se quisermos fazer um backup da pasta /home, que é onde encontram-se os dados dos</div>
<div style="text-align: justify;">
usuários, podemos digitar o seguinte comando:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
tar -cvf backup_home_03102013.tar /home</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
O comando acima, vai gerar o arquivo backup_home_03102013.tar, a partir da pasta /home. Note</div>
<div style="text-align: justify;">
que este comando não compacta nada, apenas agrupa tudo em um só arquivo com a extensão .tar.</div>
<div style="text-align: justify;">
Obviamente que podemos comprimir este arquivo com o comando:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
tar -czvf backup_home_03102013.tar.gz /home</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Adicionamos o parâmetro 'z', que realiza a compactação dos dados no formato gzip, por esse motivo</div>
<div style="text-align: justify;">
que a extensão do arquivo deve mudar também.</div>
<div style="text-align: justify;">
Temos também outro tipo de compactação, veja:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
tar -cjvf backup_home_03102013.tar.bz2 /home</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
A opção -j comprime as informações, mas no formato bzip2. Cabe a cada um qual utilizar.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Descompactando</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Após compactarmos nossos backups, obviamente que precisaremos descompactar, para vermos se</div>
<div style="text-align: justify;">
ficou tudo certo, ou vai testar só na hora que um desastre? Para isso temos:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
tar -xvf backup_home_03102013.tar</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
O comando acima vai extrair o arquivo na pasta corrente</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
tar -xjvf backup_home_03102013.tar.bz2</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
O comando acima extrai o arquivo gerado no formato bunzip2.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
tar -xzvf backup_home_03102013.tar</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
O comando acima extrai o arquivo gerado no formato gunzip.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
É isso ai, tenham todos um bom dia!</div>
Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0tag:blogger.com,1999:blog-6617577769937364417.post-81397481505583579252013-10-08T07:25:00.001-03:002013-10-08T07:25:43.139-03:00OláOlá pessoal, fiz este blog para compartilhar conhecimento, e também receber conhecimento. Espero que gostem, não estou inspirado com as palavras hoje.Anonymoushttp://www.blogger.com/profile/06806808468067883341noreply@blogger.com0