Software Livre

HD da mãe Joana

Computadores apesar de parecerem os detentores da organização são incrivelmente propensos a se desordenarem. Na verdade, a culpa é nossa. Somos nós que colocamos cabos ao leo e arquivos a propria sorte. Se já era difícil manter meu HD em ordem quando minha conexão era de apenas 1mb, agora com 4Mb/s essa missão tem sido impossível. Tudo que vou recebendo via IRC, IM, e-mail, ftp ou baixo manualmente vai se amontoando em algumas pastas até se tornar um volume incompreensível de arquivos onde se acha nada.

A solução que encontrei foi de autosabotagem, inspirada numa dieta estranha que ouvi dizer em que você deve grudar na porta da geladeira todas as fotos de quando era magro para se lembrar que um dia você já foi daquele jeito. No meu computador, a solução foi: remover os arquivos baixados caso eu não os organize.

A lógica é bem simples: dentro da minha home tenho uma pasta chamada downloads, e nela vem pastas de cada programa que utilizo para baixar arquivos (Firefox, Gaim, Xchat etc). E lá vão se acumulando tudo o que baixo no computador. Configurei no crontab, um agendador de tarefas, para que semanalmente exclua TODO o conteúdo destas pastas. Como a remoção pode acontecer a qualquer momento, desde daqui a 15min até daqui a 7 dias, sou obrigado a assim que baixar algo, descompactar ou dar o devido tratamento e salvar em uma pasta específica (como musicas, imagens, designs ou documentos), devidamente classificado ou simplesmente deixar apagar-se sozinho como um PDF que baixei só para dar uma olhada.

Para isso, digitei o comando:

crontab -e

Que irá editar a minha crontab. Irá aparecer um editor de texto e a seguinte linha:

# m h dom mon dow command

Ela serve como referência e não deve ser alterada. É bem simples de entender. Esse arquivo é constituído de 6 colunas, separadas por espaço. Onde:

m – minutos (de 00 a 59)

h – horas (de 0 a 23)

dom – dia do mês (1 a 31)

dow – dia da semana (do inglês, sun mon tue wed fri sat)

command – comando a ser executado

Então caso eu queira rodar um comando a cada 15 minutos, as segundas-feiras eu teria que incluir a seguinte linha linha:

15 * * * mon comando

Mas como rodar algum comando semanalmente ? Existem alguns atalhos compreendidos pelo crontab:

@reboot – executar cada vez que o computador foi reiniciado.
@hourly – executar a cada hora
@daily
– executar diariamente
@weekly – executar semanalmente
@monthly – executar mensalmente
@yearly – executar anualmente

Eles são bastante úteis pois, caso uma tarefa esteja agendada para um horário que o computador esteja desligado, quando ele for ligado depois desse horário, a tarefa não será cumprida. Ele não registra ‘tarefas pendentes’. De acordo com Rudnicki, esses atalhos precedidos de arroba podem atuar sim como pendentes e serem executados assim que o computador for ligado.

Então, meu crontab ficaria assim:

# m h dom mon dow command
@weekly rm -rf /home/ktk/downloads/firefox/*

Há de fato algum risco na configuração que defini. Risco de imediatamente após o término da transferência ou durante de um arquivo, dele ser apagado pela infeliz coincidência do crontab entrar em ação. Por conta disso, nosso amigo Carlos Romel propôs nos comentários desse post uma solução. Um script bash que apaga somente os arquivos com mais de 7 dias de idade. Então, faz sentido adicionarmos este script com o valor @reboot. Primeiro, vamos ao código fonte do script:

#!/bin/bash
#
# Elimina os arquivos com mais de sete dias;
#
for d in /home/ktk/downloads/firefox; do

find $d -type f -mtime +7 -exec rm –force “{}” \;

#
# Removemos os diretóios vazios
#
find $d/* -type d -print0 | \
sort –zero-terminated –reverse | \
xargs –no-run-if-empty –null –max-args 1 rmdir 2> /dev/null
done

Vamos salvar este script em /home/meulogin/scripts/limpardownloads.sh. Para que esse arquivo seja interpretado como um executável, devemos digitar:

chmod +x /home/ktk/scripts/limpardownloads.sh

E adicionar no crontab:

# m h dom mon dow command
@reboot /home/ktk/scripts/limpardownloads.sh

E está tudo feito. A partir de agora, basta se policiar para organizar bem os arquivos :D Como dizem os filmes de espionagem… ‘Esta pasta se autodestruirá em 5. 4, 3, 2 1…’.

Obrigado pelos comentários. Ajudaram a estabelecer uma solução melhor.

Fotos da Festa Edgy no Rio e Floripa

Logo depois da Festa Edgy no Rio de Janeiro tive que viajar a trabalho para uma reserva ecológica no litoral de São Paulo. Depois de charfurdar em muito manguezal e também uma picada de vespa para ganhar um terceiro cotovelo, chego em casa em farrapos para ainda em tempo postar as fotos da Festa Edgy no Rio e em Florianópolis, a pedido do BradocK.

Rio de Janeiro

Na fileira da esquerda, de cima para baixo: Ibsen, Junix, eu, Turicas

Na fileira da direita, de cima para baixo: Krysamon, Nelson, estranho, lsilva e Ricardo Pinheiro.

Tanto no Rio como em Floripa As pizzas e CDs circulavam enquanto a prosa e a confraternização rolava solta. Obrigado a todos que participarem dessas festas e outras no Brasil como em Teófilo Otoni (MG) Salvador (BA), Vitória da Conquista (BA), Joinville (SC) e Aracaju (SE).

Festa Edgy Rio de Janeiro: MARCADA

Conforme votação aberta em http://wiki.ubuntubrasil.org/FestaEdgyRJ foram selecionados o local, data e hora para a comemoração da chegada da salamandra (Edgy Eft), a próxima versão do Ubuntu a ser lançada nessa semana. Confira os dados:

Local: Pizza & Grill Largo do Machado (ao lado do metrô)
Data: 27/10/06 (sexta-feira)

Hora: 19h

São todos bem-vindos. Quem usa Ubuntu, quem não usa, quem quer conhecer mais sobre o Software Livre e GNU e quer ter uma prosa franca ao vivo com quem usa. Tragam esposas, amantes, filhos, sogras, colegas de trabalho, todos para confraternizarmos e comemorarmos uma nova versão do Ubuntu.

O local escolhido é um rodízio de pizza bastante inusitado, com mais de 180 sabores incluindo alguns assustadores como pizza de sushi ou pizza de bobó de camarão, além é claro, de sabores tradicionais como calabresa. Também servem refrigerantes em 2L para dilatar bem o estômago e encher a pança de forma bem econômica. Afinal, dieta se começa na segunda-feira, não sexta, no dia da festa.

Espero encontrar vocês lá. Não se acanhem, ninguém se conhece bem. Colocarei CDs do ShipIt empilhados na mesa para fácil identificação. Ah, se alguém que use Fedora e OpenSUSE puder ir eu agradeço. Depois do último evento de SL que fui me interessei pelos projetos e gostaria de conhecer melhor.

Para outras cidades, verifique as datas/horas/locais de comemoração clicando aqui.