shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Script para sumarizar caixa de e-mail


From: Cristiano Ferrari
Subject: Script para sumarizar caixa de e-mail
Date: Wed, 15 Apr 2009 11:03:45 -0000
User-agent: eGroups-EW/0.82

Salve ilustres bom dia.

Preciso enxugar o tamanho e a quantidade de mensagens de um usuário, gravadas 
dentro do diretório "cur" do servidor de e-mails.

O cidadão, que é o dono da empresa, tem mais de 26.000 mensagens em 13gb de 
dados. Devido à necessidade do cidadão ter acesso para consultar o histórico de 
sua caixa postal em viagens, mesmo que sem a disponibilidade de conexão com a 
internet, optamos no passado por não usar IMAP, mas baixar as mensagens via 
POP3, deixando uma cópia no servidor, para ser acessada via webmail, ou para 
serem recuperadas no caso de um crash no cliente de e-mail.

Ontem, devido a uma troca deste cliente de e-mail, todas as mensagens 
armazenadas tiverem que ser baixadas novamente. 

O problema é que não dá para baixar 13 gb de mensagem. Quando o arquivo da 
caixa postal chega perto dos 4 gb, o Thunderbird começa a chiar e dizer que não 
há mais espaço para baixar mensagens novas.

A solução é excluir, dentre as mais 26000 armzenadas no servidor aqueles lixo 
que nem deveriam estar alí, como por exemplo vídeos e pps de mensagens 
edificantes e outras cositas mais....

Pensei então em criar um script que leia o conteúdo de cada mensagem procurando 
a string que identifica o remetente e crie um arquivo texto com 2 colunas: o 
nome do remetente e o tamanho da mensagem.

Depois, eu poderia pegar este arquivo e totalizar quantas mensagens e quantos 
megas (ou gigas) exitem de cada remetente para orientar ao cidadão ou que eu 
poderia deletar do servidor para chegar nos 2-3 gigas que o Thunderbird 
suportaria baixar.

Depois que ele me indicasse os destinatário que eu poderia excluir (aqueles 
contatos que todo mundo tem e que só envia futilidades) eu precisaria fazer 
outro script para excluir as mensagens destes (mas esta é a parte facil).

Minha dificuldade está em definir a melhor forma de fazer isso sem ter que 
ficar com uma thread rodando por uma semana no servidor.

Pensei em criar um for (ou while) à partir de um ls no diretório "cur" e à 
partir daí usar grep e cut para extrair o endereço do remetente e direcionar a 
saída para um arquivo texto.

Mas acho que isso irá consumir muito recuso. Acho que talvez com o awk eu 
consiga algo mais simples e mais eficaz, em termos de uso de processamento, só 
não sei como.

Alguém tem alguma idéia?

Abraços e obrigado de antemão.


Cristiano



reply via email to

[Prev in Thread] Current Thread [Next in Thread]