Ruby para automatização diária

Posted by Daniel Lopes on 29/10/2009

Para nós que utilizamos sistemas Unix temos várias formas de automatizar tarefas repetitivas, principalmente que os que utilizam Mac Os. Integrado ao OsX temos ferramentas como o Automator que permitem a criação de fluxos de trabalho e que são bem simples de serem criados, também é possível customizar e criar várias novas tarefas e fluxos para o OsX através de AppleScript.

Para quem utiliza muito terminal, ou precisa executar tarefas administrativas também é possivel utilizar ShellScript para criar automatizações.

Todas estas ferramentas são muito interessantes, mas tem um pequeno porém. As vezes fluxos mais complexos no Automator são bem chatos de serem criados e considero Apple Script e Shell Script linguagens bem feias, grandes e improdutivas. Então nada melhor do que usar Ruby para estas situações.

O que eu normalmente faço é criar uma pasta bin dentro da pasta do meu usuário. Dentro desta pasta bin eu coloco todos os arquivos de configuração do terminal bash ( não vou entra em detalhes sobre como dividir os arquivos de configuração pois já foi bem explicado no Peepcode aqui) e também uma série de arquivos ruby que serão executáveis. Basta adicionar esta pasta bin ao seu path do terminal e você terá seus mini-aplicativos ruby acessiveis independente de qual diretório estiver.

Crie uma pasta bin e dentro do seu arquivo .bashrc acrescente ao final a pasta bin (normalmente como abaixo):

export PATH=/opt/local/bin:/opt/local/sbin:${PATH}:/usr/local/mysql/bin:~/bin

Agora basta você criar o seus scripts ruby sempre se lembrando de não colocar a extensão .rb e de acrescentar o comentário com bang para tornar o arquivo executável (normalmente assim #!/usr/bin/env ruby no OsX).

Seguem abaixo alguns do scripts que utilizo mais no meu dia a dia:

Se você possui algum script por favor compartilhe também :D (não coloquei tudo no github pois eu tenho uma série de coisas particulares dentro da pasta bin também).

blog comments powered by Disqus