Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Linux    

Upstart – Scripts Init no Linux – Parte 2


Comentários  10
Visualizações  
239,414

O Upstart foi concedido para resolver as limitações do SystemV init para a distribuição Ubuntu e logo foi adotado por outras distribuições Linux. Seu princípio é ser baseado em eventos: o Upstart cria um ou vários eventos e os serviços podem ser associados à estes eventos. Ele é quem define o que fazer quando um evento começa, muda ou termina (por exemplo: iniciando e parando serviços).

Se vários serviços estão dentro de um evento e ele ocorre, o Upstart pode por exemplo, iniciar todos estes serviços paralelamente. Se um evento tem que ocorrer apenas depois de outro, quando o primeiro evento terminar, ele começa a rodar este outro dependente. Mas vamos ver isso melhor.

Como antes, quando o kernel é iniciado, ele chama o daemon do Upstart, o /sbin/init. Este daemon, quando iniciado, carrega todos os arquivos de configuração do diretório /etc/init. São todos os arquivos que tem extensão .conf. Cada um desses arquivos define um Job. Este Job significa uma tarefa ou serviço. Vale notar também que qualquer alteração nos arquivos vai ser imediatamente lida pelo Upstart, sem precisar recarregar ou algo parecido.

Leia mais

Programas    

Backup e restauração de partições com sfdisk


Comentários  3
Visualizações  
573,955

Particionar o disco é algo que todo usuário de Linux deve ter passado, principalmente nas primeiras instalações de Linux (que não foram em uma VM, hehehe). O particionamento é algo básico que usamos até hoje para dividir o disco em várias áreas para armazenar dados diferentes em cada uma delas. No caso de servidores Linux, muitos criam diversas partições, cada uma como um diretório diferente do sistema (/, /usr, /tmp, /var, e por aí vai). Apesar de hoje em dia se utilizar bastante o LVM (Logical Volume Management) para facilitar a vida criando partições mais dinâmicas, mesmo assim tem que haver um particionamento básico no disco.

Muitos de nós aprendemos que o programa fdisk serve para fazer o particionamento do disco de forma fácil e interativa. Mas de vez em quando há uma grande necessidade de se fazer isso automaticamente, ou seja, particionar o disco via comando ou um shell script. É aí que entra o sfdisk, que é basicamente uma versão scriptável do fdisk. Com ele, dá pra fazer algumas coisas úteis que não conseguíamos de forma prática com o fdisk…

Leia mais

Linux    

Scripts Init no Linux – Parte 1


Comentários  12
Visualizações  
260,031

Os scripts de inicialização do Linux são utilizados desde os primórdios dos tempos (oh!) para não apenas colocar serviços e daemons para rodar na inicialização, mas para controlar os serviços em si no dia-a-dia. Tarefas como: descobrir se o postfix está rodando; iniciar aquele serviço que não subiu direito; reiniciar ou recarregar um daemon que você mudou a configuração; entre outros. E neste quesito, durante anos os scripts init no Linux foram lineares e simples… Entretanto, muita coisa mudou e foram surgindo outras funcionalidades.

Quando falamos em Init, podemos dizer que é o primeiro processo executado pelo Linux. Logo após o kernel ser carregado em memória, ele tem a opção de executar um programa. Este programa é o que chamamos de init. O init geralmente é o responsável por dizer quais os programas e/ou serviços devem ser iniciados logo após o carregamento do kernel e a detecção de hardware da máquina. Curiosamente, se você utilizar o comando ps, verá que o processo de PID número 1 é o sistema de init da sua distribuição.

Leia mais

Programas    

AWS API Tools – Instalando e usando (Java)


Comentários  0
Visualizações  
231,508

A Amazon Web Services é um serviço de computação em nuvem que, entre muitas funcionalidades, disponibiliza uma API para consultar e controlar todos os recursos de uma conta. O próprio AWS Management Console (a interface deles) usa a API para funcionar. Apesar dessa interface web ser funcional e bem prática, às vezes queremos usar a API em outros lugares, como: aplicações, shell scripts, terminal… Para estes casos, os desenvolvedores da AWS disponibilizam diversas ferramentas para a API, dentre elas um conjunto de programas feitos em Java, que se chamam comumente de AWS API Tools (ou AWS CLI Tools).

Esta dica cobre, como exemplo, as ferramentas Java para gerenciar alguns dos serviços AWS.

Leia mais

Servidores    

Dissecando logs no Varnish


Comentários  10
Visualizações  
275,747

Imagine você, sentado no sofá assistindo algo interessante, quando lhe vem de repente na sua mente: “Caramba! Será que meu Varnish está rodando bem o suficiente?” Então se levanta, bebe alguma coisa e se depara com o terminal do servidor. E agora, o que fazer? :-) Logs! Logs e estatísticas são sempre seus amigos para você fazer esse tipo de avaliação: desempenho, resolução de problemas, estatísticas…

O varnish, sendo um ótimo programa, fornece várias ferramentas que te ajudam a ver o que exatamente está acontecendo em seu servidor. Neste tutorial, vamos ver como usar essas ferramentas ao seu favor. Lembre-se que é sempre importante você avaliar o que está acontecendo e mexer para sempre deixar melhor do que estava!

Leia mais

Servidores    

Replicação MySQL


Comentários  49
Visualizações  
297,700

Tem quem goste, tem quem não goste, mas uma coisa é certa: o MySQL é hoje um dos bancos de dados mais utilizados em sistemas Web. Se você é um dos muitos que usam, com certeza deve se preocupar bastante com os dados que estão dentro do banco. A última coisa que queremos é perder os dados, né? :-) Este tutorial mostra um pouco sobre como podemos nos precaver e manter o servidor MySQL funcionando de forma correta e com mais segurança.

A primeira forma de se manter uma segurança adicional do serviço funcionando e de seus dados é a replicação MySQL. A replicação é utilizada para que caso um servidor caia (e se machuque), o HD exploda ou algo parecido, haverá um segundo servidor com todos os dados atualizados e pronto para o uso. Sites sérios que precisam se manter sempre funcionando, com o mínimo de downtime quando algo falha devem utilizar sempre uma forma de replicação.

Leia mais

Programação    

Infinite Scroll do WordPress e PollDaddy


Comentários  1
Visualizações  
233,817

Um dos recursos que tem aparecido bastante em sites e portais é o Infinite Scroll. Como o nome já diz, esse recurso faz com que as paginações de um site carreguem automaticamente quando o usuário desce até o final da página, lá embaixo de todas as notícias ou posts. Um dos exemplos mais conhecidos é o próprio Facebook, que em seu Feed de notícias vai carregando infinitamente os posts à medida que o usuário vai descendo a página. O objetivo é que o usuário não tenha que clicar e esperar outra página carregar para ver mais conteúdo… Convenhamos que é um ótimo recurso de usabilidade :)

Toda vez que um usuário vai até o final da página, o plugin reconhece e manda uma requisição AJAX pedindo a próxima página. Quando o navegador a recebe, o plugin monta automaticamente via JS e seletores CSS a parte dos posts no lugar correto, implementando assim o recurso de scroll infinito. Mas alguns plugins como o Polldaddy ratings e ShareThis não funcionam de primeira, pois fazem chamadas javascript… Mas há como resolver isso!

Leia mais

Servidores    

Uma introdução ao Varnish


Comentários  18
Visualizações  
260,952

Um dos problemas mais clássicos dos sistemas dinâmicos na Web é a carga que estes sistemas causam nos servidores. Diferentemente de servir apenas itens estáticos, os conteúdos dinâmicos precisam interpretar códigos, transformá-los, acessar bancos de dados, entre outras operações que tornam a carga de sistema maior. O Varnish é um software de código aberto que serve como uma camada intermediária entre o usuário e o servidor Web. Ele funciona fazendo cache do conteúdo dinâmico, transformando-o em uma página estática em memória, e então mandando para o usuário. Com isso, para todo usuário seguinte, o Varnish serve a página que já está em cache, ao invés do sistema dinâmico ter que efetuar todo o processamento novamente.

Leia mais

Servidores    

Varnish e backends com IPs dinâmicos


Comentários  2
Visualizações  
237,160

Até as versões atuais do Varnish, existe uma limitação na hora de especificar backends na configuração do VCL: não é possível usar IPs dinâmicos ao definir um backend. Em outras palavras, você não pode ter backends que você não saiba o IP. Em alguns casos, é necessário colocar na definição de backend um hostname, ao invés de um IP fixo. Se por acaso você mudar o IP deste hostname, o Varnish não vai ser atualizado com o novo IP, a não ser que você recompile o VCL (vcl.load e vcl.use). Existe uma solução de contorno (também conhecido como gambiarra) para resolver isso: usar um servidor nginx como intermediador.

Leia mais

Linux    

Cópias remotas de arquivos


Comentários  12
Visualizações  
269,746

Uma das tarefas mais comuns de um administrador de sistemas é fazer cópias remotas de arquivos – ou seja – de uma máquina para outra. Em rede, isto pode ser feito de diversas maneiras, como por exemplo: FTP, HTTP, SSH, RSYNC, entre outros. Este artigo mostra as principais formas de fazer isso. Vou tentar ser o mais direto possível.

Leia mais