Trabalhando com a CLI do Zimbra usando o Pexpect

Um dos meus maiores desgostos na vida é ter que trabalhar com scripts de automação de atividades com o zmprov, o cliente de “Interface de Linha de Comando” (CLI) fornecido pela Synacor. Cada execução do zmprov leva em torno de 20 segundos a 1 minuto para executar e devolver algum retorno para mim. Agora imagine eu repetir isso n vezes, sendo n igual ao número de vezes que eu quero repetir a execução. Eu acabo com um script que leva em torno de dias para executar o que eu preciso. Esse post tem o intuito de explicar como eu consegui resolver meu problema do zmprov usando o Python para agilizar a atividade, mais especificadamente o módulo pexpect.

Leia Mais

Compilando Samba 4.6.4 no CentOS 7

Essa semana tive um incidente devido a uma mudança realizada pela Sernet, a fornecedora do pacote SAMBA+ que usamos nas aulas do 452 – Linux Security Server in Cloud da 4Linux. Por conta dessa mudança em suas políticas, toda a aula de SAMBA ficou inutilizada pois precisamos da função Active Directory, e somente o SAMBA+ fornecia a suite pré compilada com essa feature habilitada. Para contornar, foi necessário compilar a partir do código fonte. Apesar do passo a passo ser bem simples, ainda sim decidi registrar no blog para consultas futuras do procedimento.

Leia Mais

Programe melhor com Python – Use Virtual Environments

Normalmente essa semana eu disponibilizaria mais um post sobre Linux-PAM, porém devido a alguns contratempos, decidi segurar um pouco mais antes de voltar nesse assunto. Essa semana decidi comentar sobre uma funcionalidade que vejo poucos usarem, e que é extremamente útil quando você possui múltiplos projetos para trabalhar ao mesmo tempo. Essa semana o post irá tratar sobre o virtualenv: uma maneira de você isolar seu projeto e diminuir sua preocupação com pacotes quebrando sem nenhum motivo aparente.

Leia Mais

Backup de E-mails do Zimbra OSE com o Zmbackup

Um dos maiores problemas de se utilizar a versão Community do Zimbra é o fato de não existir uma ferramenta confiável de backup que seja gratuita e Open Source. Você tem escolhas pagas, como o Zextras (recentemente fez parceria com a Synacor para lançar a ferramenta Zimbra Plus), ou o próprio Zimbra Network Edition. De gratuito temos scripts feitos pela comunidade que estão disponíveis no GitHub ou o zmbkpose, uma ferramenta de backup que faz um tempo que não recebe correções. Essa inexistência de uma opção gratuita que me fez desenvolver o Zmbackup.

Leia Mais

Linux-PAM: Como Funciona – Teoria

Por várias vezes durante minha vida como SysAdmin eu escutei o mesmo comentário: para que serve o Linux-PAM? Qual o sentido dele? Como ele funciona? Isso acabou me motivando a falar sobre esse assunto, pois, além de eu mesmo querer saber como funciona e quando utilizar, eu queria que essa minha experiência fosse compartilhada com outros usuários de sistemas Unix-Like. Nesse post irei explicar o processo de funcionamento do PAM e seus arquivos de configuração, e num post futuro pretendo tratar de como configurar dois módulos que acredito serem extremamente importantes: pam_limits e o google authenticator.

Leia Mais

Conhecendo um Pouco do Ansible Galaxy

Durante minhas aventuras como SysAdmin, eu me deparei com a fantástica ferramenta chamada Ansible. Eu me empolguei tanto com a ferramenta que acabei criando um projeto chamado warudo, agora já não existe um rastro dele, que seria um conjunto de roles que você pode rodar para criar um ambiente de teste, ou até mesmo produção. Bom, o projeto acabou morrendo pois perdi um pouco o interesse em desenvolve-lo, porém parte do projeto possuía roles que estavam completas, e seria um enorme desperdício jogar fora elas. Então o que fazer com elas? Mando para o Ansible Galaxy!

Leia Mais

Trabalhando como Paralelismo no Bash usando o GNU Parallel

Recentemente eu me impus um desafio de completar todos os meus programas que estavam pendentes no meu Github antes de prosseguir e criar novos projetos/repositórios. Isso foi necessário pois eu estava virando uma máquina de ideias, porém não tinha nada completo e não estava preocupado em completar nada. Bom, um dos projetos que tive que reescrever no fim virou dois projetos separados de Ansible na qual irei falar sobre eles num post futuro, e o outro foi um fork de um shell script chamado zmbkpose, na qual corrigi seu código para voltar a funcionar, e recentemente disponibilizei no meu Github para uso. É sobre esse segundo projeto que gostaria de falar, mais especificamente um pequeno trecho dele.

Leia Mais